[ros-diffs] [fireball] 30551: - Fix paged pool overwrite in IopUnloadDriver, due to a typo in arithmetic. Thanks to Andrey Korotaev (unC0Rr) for the testcase. - Make error debug output DPRINT1 instead of DPRINT.

fireball at svn.reactos.org fireball at svn.reactos.org
Sun Nov 18 17:12:46 CET 2007


Author: fireball
Date: Sun Nov 18 19:12:45 2007
New Revision: 30551

URL: http://svn.reactos.org/svn/reactos?rev=30551&view=rev
Log:
- Fix paged pool overwrite in IopUnloadDriver, due to a typo in arithmetic. Thanks to Andrey Korotaev (unC0Rr) for the testcase.
- Make error debug output DPRINT1 instead of DPRINT.

Modified:
    trunk/reactos/ntoskrnl/io/iomgr/driver.c

Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c?rev=30551&r1=30550&r2=30551&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/driver.c (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/driver.c Sun Nov 18 19:12:45 2007
@@ -955,7 +955,7 @@
    ObjectName.MaximumLength = ObjectName.Length + sizeof(WCHAR);
    ObjectName.Buffer = ExAllocatePool(PagedPool, ObjectName.MaximumLength);
    wcscpy(ObjectName.Buffer, L"\\Driver\\");
-   memcpy(ObjectName.Buffer + 8, Start, (ObjectName.Length - 8) * sizeof(WCHAR));
+   memcpy(ObjectName.Buffer + 8, Start, ObjectName.Length - 8 * sizeof(WCHAR));
    ObjectName.Buffer[ObjectName.Length/sizeof(WCHAR)] = 0;
 
    /*
@@ -967,7 +967,7 @@
 
    if (!NT_SUCCESS(Status))
    {
-      DPRINT("Can't locate driver object for %wZ\n", ObjectName);
+      DPRINT1("Can't locate driver object for %wZ\n", ObjectName);
       return Status;
    }
 
@@ -994,7 +994,7 @@
 
    if (!NT_SUCCESS(Status))
    {
-      DPRINT("RtlQueryRegistryValues() failed (Status %x)\n", Status);
+      DPRINT1("RtlQueryRegistryValues() failed (Status %x)\n", Status);
       return Status;
    }
 
@@ -1006,7 +1006,7 @@
 
    if (!NT_SUCCESS(Status))
    {
-      DPRINT("IopNormalizeImagePath() failed (Status %x)\n", Status);
+      DPRINT1("IopNormalizeImagePath() failed (Status %x)\n", Status);
       return Status;
    }
 




More information about the Ros-diffs mailing list