mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
[NTOS:IO] Fail if the driver name passed to NtLoadDriver() is an empty string.
Otherwise an assertion on the driver name is hit later on. Can be reproduced by calling NtLoadDriver with a valid UNICODE_STRING of Length == 0.
This commit is contained in:
parent
44511f0809
commit
a748350fc9
1 changed files with 8 additions and 1 deletions
|
@ -1251,7 +1251,7 @@ IopUnloadDriver(PUNICODE_STRING DriverServiceName, BOOLEAN UnloadPnpDrivers)
|
|||
DPRINT("IopUnloadDriver('%wZ', %u)\n", &CapturedServiceName, UnloadPnpDrivers);
|
||||
|
||||
/* We need a service name */
|
||||
if (CapturedServiceName.Length == 0)
|
||||
if (CapturedServiceName.Length == 0 || CapturedServiceName.Buffer == NULL)
|
||||
{
|
||||
ReleaseCapturedUnicodeString(&CapturedServiceName, PreviousMode);
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
|
@ -2161,6 +2161,13 @@ NtLoadDriver(IN PUNICODE_STRING DriverServiceName)
|
|||
|
||||
DPRINT("NtLoadDriver('%wZ')\n", &CapturedServiceName);
|
||||
|
||||
/* We need a service name */
|
||||
if (CapturedServiceName.Length == 0 || CapturedServiceName.Buffer == NULL)
|
||||
{
|
||||
ReleaseCapturedUnicodeString(&CapturedServiceName, PreviousMode);
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
/* Load driver and call its entry point */
|
||||
DriverObject = NULL;
|
||||
Status = IopLoadUnloadDriver(&CapturedServiceName, &DriverObject);
|
||||
|
|
Loading…
Reference in a new issue