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/c... ============================================================================== --- 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/m... ============================================================================== --- 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/p... ============================================================================== --- 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/s... ============================================================================== --- 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