mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 11:16:11 +00:00
Don't dereference device objects if they were not referenced
Remove one hack from kbdclass svn path=/trunk/; revision=21708
This commit is contained in:
parent
d7c29a3b3f
commit
99ea202a07
3 changed files with 4 additions and 14 deletions
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue