Explorar o código

Fix buffer overflow in windows tap driver

Joseph Henry %!s(int64=5) %!d(string=hai) anos
pai
achega
b3331c5ec2
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      windows/TapDriver6/adapter.c

+ 2 - 1
windows/TapDriver6/adapter.c

@@ -272,7 +272,8 @@ tapReadConfiguration(
 
         if (status == NDIS_STATUS_SUCCESS)
         {
-            if (configParameter->ParameterType == NdisParameterString)
+            if (configParameter->ParameterType == NdisParameterString
+                && configParameter->ParameterData.StringData.Length <= sizeof(Adapter->NetCfgInstanceIdBuffer) - sizeof(WCHAR))
             {
                 DEBUGP (("[TAP] NdisReadConfiguration (NetCfgInstanceId=%wZ)\n",
                     &configParameter->ParameterData.StringData ));