diff --git a/reactos/ntoskrnl/include/internal/ntoskrnl.h b/reactos/ntoskrnl/include/internal/ntoskrnl.h index 44b750e3533..0d2c38ac06a 100644 --- a/reactos/ntoskrnl/include/internal/ntoskrnl.h +++ b/reactos/ntoskrnl/include/internal/ntoskrnl.h @@ -130,11 +130,16 @@ ProbeAndCaptureUnicodeString(OUT PUNICODE_STRING Dest, /* Allocate space for the buffer */ Buffer = ExAllocatePool(PagedPool, Dest->MaximumLength); - /* Copy it */ - RtlCopyMemory(Buffer, Dest->Buffer, Dest->MaximumLength); + if (Buffer != NULL) + { + /* Copy it */ + RtlCopyMemory(Buffer, Dest->Buffer, Dest->MaximumLength); - /* Set it as the buffer */ - Dest->Buffer = Buffer; + /* Set it as the buffer */ + Dest->Buffer = Buffer; + } + else + Status = STATUS_INSUFFICIENT_RESOURCES; /* Return */ return Status; diff --git a/reactos/ntoskrnl/io/driver.c b/reactos/ntoskrnl/io/driver.c index 23f6761b85c..33fd8082b27 100644 --- a/reactos/ntoskrnl/io/driver.c +++ b/reactos/ntoskrnl/io/driver.c @@ -1852,7 +1852,7 @@ NtLoadDriver(IN PUNICODE_STRING DriverServiceName) RTL_QUERY_REGISTRY_TABLE QueryTable[3]; UNICODE_STRING ImagePath; UNICODE_STRING ServiceName; - UNICODE_STRING CapturedDriverServiceName; + UNICODE_STRING CapturedDriverServiceName = {0}; KPROCESSOR_MODE PreviousMode; NTSTATUS Status; ULONG Type;