[ros-diffs] [cgutman] 53304: [NTOSKRNL] - Implement a special case copy-in for IRP_MN_FILTER_RESOURCE_REQUIREMENTS to prevent NULL pointer access in function drivers

cgutman at svn.reactos.org cgutman at svn.reactos.org
Thu Aug 18 18:35:04 UTC 2011


Author: cgutman
Date: Thu Aug 18 18:35:03 2011
New Revision: 53304

URL: http://svn.reactos.org/svn/reactos?rev=53304&view=rev
Log:
[NTOSKRNL]
- Implement a special case copy-in for IRP_MN_FILTER_RESOURCE_REQUIREMENTS to prevent NULL pointer access in function drivers

Modified:
    trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c

Modified: trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c?rev=53304&r1=53303&r2=53304&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c [iso-8859-1] Thu Aug 18 18:35:03 2011
@@ -884,6 +884,14 @@
     /* Initialize to failure */
     Irp->IoStatus.Status = IoStatusBlock.Status = STATUS_NOT_SUPPORTED;
     Irp->IoStatus.Information = IoStatusBlock.Information = 0;
+    
+    /* Special case for IRP_MN_FILTER_RESOURCE_REQUIREMENTS */
+    if (IoStackLocation->MinorFunction == IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
+    {
+        /* Copy the resource requirements list into the IOSB */
+        Irp->IoStatus.Information =
+        IoStatusBlock.Information = (ULONG_PTR)IoStackLocation->Parameters.FilterResourceRequirements.IoResourceRequirementList;
+    }
     
     /* Initialize the event */
     KeInitializeEvent(&Event, SynchronizationEvent, FALSE);




More information about the Ros-diffs mailing list