[ntoskrnl/io]

- Check for null pointers before attempting to copy or free memory.

svn path=/trunk/; revision=47049
This commit is contained in:
Michael Martin 2010-04-27 13:41:37 +00:00
parent 60eddf5657
commit 02c3f0fa12

View file

@ -884,7 +884,8 @@ IoGetDeviceInterfaces(IN CONST GUID *InterfaceClassGuid,
NextReferenceString:
ExFreePool(ReferenceBi);
ReferenceBi = NULL;
ExFreePool(bip);
if (bip)
ExFreePool(bip);
bip = NULL;
if (ReferenceKey != INVALID_HANDLE_VALUE)
{
@ -921,8 +922,11 @@ NextReferenceString:
Status = STATUS_INSUFFICIENT_RESOURCES;
goto cleanup;
}
RtlCopyMemory(NewBuffer, ReturnBuffer.Buffer, ReturnBuffer.Length);
ExFreePool(ReturnBuffer.Buffer);
if (ReturnBuffer.Buffer)
{
RtlCopyMemory(NewBuffer, ReturnBuffer.Buffer, ReturnBuffer.Length);
ExFreePool(ReturnBuffer.Buffer);
}
ReturnBuffer.Buffer = NewBuffer;
}
ReturnBuffer.Buffer[ReturnBuffer.Length / sizeof(WCHAR)] = UNICODE_NULL;