From 99ea202a07b17f504b61db9d5784e95b78fa64cd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Herv=C3=A9=20Poussineau?= Date: Sat, 22 Apr 2006 14:08:43 +0000 Subject: [PATCH] Don't dereference device objects if they were not referenced Remove one hack from kbdclass svn path=/trunk/; revision=21708 --- reactos/base/setup/usetup/console.c | 11 ++++------- reactos/drivers/input/kbdclass/kbdclass.c | 6 ------ reactos/drivers/input/mouclass/mouclass.c | 1 - 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/reactos/base/setup/usetup/console.c b/reactos/base/setup/usetup/console.c index 0fd9d35b3f9..dd765c7b02f 100644 --- a/reactos/base/setup/usetup/console.c +++ b/reactos/base/setup/usetup/console.c @@ -52,17 +52,16 @@ ConGetConsoleScreenBufferInfo(PCONSOLE_SCREEN_BUFFER_INFO ConsoleScreenBufferInf NTSTATUS ConAllocConsole(VOID) { + UNICODE_STRING ScreenName = RTL_CONSTANT_STRING(L"\\??\\BlueScreen"); + UNICODE_STRING KeyboardName = RTL_CONSTANT_STRING(L"\\Device\\KeyboardClass0"); OBJECT_ATTRIBUTES ObjectAttributes; IO_STATUS_BLOCK IoStatusBlock; - UNICODE_STRING Name; NTSTATUS Status; CONSOLE_SCREEN_BUFFER_INFO csbi; /* Open the screen */ - RtlInitUnicodeString(&Name, - L"\\??\\BlueScreen"); InitializeObjectAttributes(&ObjectAttributes, - &Name, + &ScreenName, 0, NULL, NULL); @@ -76,10 +75,8 @@ ConAllocConsole(VOID) return(Status); /* Open the keyboard */ - RtlInitUnicodeString(&Name, - L"\\??\\Keyboard"); InitializeObjectAttributes(&ObjectAttributes, - &Name, + &KeyboardName, 0, NULL, NULL); diff --git a/reactos/drivers/input/kbdclass/kbdclass.c b/reactos/drivers/input/kbdclass/kbdclass.c index 3b019625fee..88944d64665 100644 --- a/reactos/drivers/input/kbdclass/kbdclass.c +++ b/reactos/drivers/input/kbdclass/kbdclass.c @@ -284,7 +284,6 @@ CreateClassDeviceObject( OUT PDEVICE_OBJECT *ClassDO OPTIONAL) { PCLASS_DRIVER_EXTENSION DriverExtension; - UNICODE_STRING SymbolicLinkName = RTL_CONSTANT_STRING(L"\\??\\Keyboard"); ULONG DeviceId = 0; ULONG PrefixLength; UNICODE_STRING DeviceNameU; @@ -374,10 +373,6 @@ cleanup: DriverExtension->RegistryPath.Buffer, DriverExtension->RegistryPath.MaximumLength); - /* HACK: 1st stage setup needs a keyboard to open it in user-mode - * Create a link to user space... */ - IoCreateSymbolicLink(&SymbolicLinkName, &DeviceNameU); - ExFreePool(DeviceNameU.Buffer); if (ClassDO) @@ -597,7 +592,6 @@ ClassAddDevice( if (!NT_SUCCESS(Status)) { DPRINT("ConnectPortDriver() failed with status 0x%08lx\n", Status); - ObDereferenceObject(Fdo); goto cleanup; } Fdo->Flags &= ~DO_DEVICE_INITIALIZING; diff --git a/reactos/drivers/input/mouclass/mouclass.c b/reactos/drivers/input/mouclass/mouclass.c index e7981a8bb2d..c38ddc9dd85 100644 --- a/reactos/drivers/input/mouclass/mouclass.c +++ b/reactos/drivers/input/mouclass/mouclass.c @@ -569,7 +569,6 @@ ClassAddDevice( if (!NT_SUCCESS(Status)) { DPRINT("ConnectPortDriver() failed with status 0x%08lx\n", Status); - ObDereferenceObject(Fdo); goto cleanup; } Fdo->Flags &= ~DO_DEVICE_INITIALIZING; -- 2.17.1