[ros-diffs] [cgutman] 35955: - Merge aicom-network-fixes up to r35946

cgutman at svn.reactos.org cgutman at svn.reactos.org
Fri Sep 5 02:43:29 CEST 2008


Author: cgutman
Date: Thu Sep  4 19:43:28 2008
New Revision: 35955

URL: http://svn.reactos.org/svn/reactos?rev=35955&view=rev
Log:
 - Merge aicom-network-fixes up to r35946

Modified:
    trunk/reactos/drivers/network/ndis/ndis/config.c
    trunk/reactos/drivers/network/ndis/ndis/miniport.c
    trunk/reactos/drivers/network/ndis/ndis/protocol.c
    trunk/reactos/drivers/network/ndis/ndis/stubs.c

Modified: trunk/reactos/drivers/network/ndis/ndis/config.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/config.c?rev=35955&r1=35954&r2=35955&view=diff
==============================================================================
--- trunk/reactos/drivers/network/ndis/ndis/config.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/network/ndis/ndis/config.c [iso-8859-1] Thu Sep  4 19:43:28 2008
@@ -521,9 +521,11 @@
 
             ExFreePool(KeyInformation);
 
-            if(*Status != STATUS_SUCCESS)
+            if(*Status != STATUS_SUCCESS) {
+                ExFreePool(*ParameterValue);
+                *ParameterValue = NULL;
                 *Status = NDIS_STATUS_FAILURE;
-            else
+            } else
                 *Status = NDIS_STATUS_SUCCESS;
 
             return;
@@ -567,6 +569,7 @@
             if(!MiniportResource)
             {
                 NDIS_DbgPrint(MIN_TRACE,("Insufficient resources.\n"));
+                ExFreePool(RegData);
                 ExFreePool(KeyInformation);
                 ExFreePool(*ParameterValue);
                 *ParameterValue = NULL;

Modified: trunk/reactos/drivers/network/ndis/ndis/miniport.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/miniport.c?rev=35955&r1=35954&r2=35955&view=diff
==============================================================================
--- trunk/reactos/drivers/network/ndis/ndis/miniport.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/network/ndis/ndis/miniport.c [iso-8859-1] Thu Sep  4 19:43:28 2008
@@ -1623,7 +1623,7 @@
 
   Status = IoGetDeviceProperty(PhysicalDeviceObject, DevicePropertyDriverKeyName,
                                0, NULL, &DriverKeyLength);
-  if (Status != STATUS_BUFFER_TOO_SMALL && Status != STATUS_BUFFER_OVERFLOW)
+  if (Status != STATUS_BUFFER_TOO_SMALL && Status != STATUS_BUFFER_OVERFLOW && Status != STATUS_SUCCESS)
     {
       NDIS_DbgPrint(DEBUG_MINIPORT, ("Can't get miniport driver key length.\n"));
       return Status;

Modified: trunk/reactos/drivers/network/ndis/ndis/protocol.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/protocol.c?rev=35955&r1=35954&r2=35955&view=diff
==============================================================================
--- trunk/reactos/drivers/network/ndis/ndis/protocol.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/network/ndis/ndis/protocol.c [iso-8859-1] Thu Sep  4 19:43:28 2008
@@ -783,7 +783,7 @@
     RtlInitUnicodeString(&ValueName, L"Bind");
 
     NtStatus = ZwQueryValueKey(DriverKeyHandle, &ValueName, KeyValuePartialInformation, NULL, 0, &ResultLength);
-    if(NtStatus != STATUS_BUFFER_OVERFLOW && NtStatus != STATUS_BUFFER_TOO_SMALL)
+    if(NtStatus != STATUS_BUFFER_OVERFLOW && NtStatus != STATUS_BUFFER_TOO_SMALL && NtStatus != STATUS_SUCCESS)
       {
         NDIS_DbgPrint(MID_TRACE, ("Unable to query the Bind value for size\n"));
         ZwClose(DriverKeyHandle);

Modified: trunk/reactos/drivers/network/ndis/ndis/stubs.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/ndis/ndis/stubs.c?rev=35955&r1=35954&r2=35955&view=diff
==============================================================================
--- trunk/reactos/drivers/network/ndis/ndis/stubs.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/network/ndis/ndis/stubs.c [iso-8859-1] Thu Sep  4 19:43:28 2008
@@ -331,10 +331,12 @@
     ExFreePool ( FullFileName.Buffer );
     FullFileName.Buffer = NULL;
   }
-  if ( !NT_SUCCESS(*Status) && FileHandleObject != NULL )
+  if ( !NT_SUCCESS(*Status) )
   {
-    ExFreePool ( FileHandleObject );
-    FileHandleObject = NULL;
+    if( FileHandleObject ) {
+	ExFreePool ( FileHandleObject );
+	FileHandleObject = NULL;
+    }
     *FileHandle = NULL;
   }
   else



More information about the Ros-diffs mailing list