[PATCH v2 1/5] ntoskrnl.exe: Free device IDs from pool.

Zebediah Figura zfigura at codeweavers.com
Wed Jun 5 09:22:12 CDT 2019


From: Zebediah Figura <z.figura12 at gmail.com>

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/ntoskrnl.exe/pnp.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/ntoskrnl.exe/pnp.c b/dlls/ntoskrnl.exe/pnp.c
index 23ae4ca..d8f74e0 100644
--- a/dlls/ntoskrnl.exe/pnp.c
+++ b/dlls/ntoskrnl.exe/pnp.c
@@ -301,7 +301,7 @@ static void handle_bus_relations( DEVICE_OBJECT *device )
         if (get_driver_for_id( ptr, driver ))
             break;
     }
-    RtlFreeHeap( GetProcessHeap(), 0, ids );
+    ExFreePool( ids );
 
     if (!driver[0])
     {
@@ -409,7 +409,7 @@ NTSTATUS WINAPI IoGetDeviceProperty( DEVICE_OBJECT *device, DEVICE_REGISTRY_PROP
             else
                 status = STATUS_BUFFER_TOO_SMALL;
 
-            HeapFree( GetProcessHeap(), 0, id );
+            ExFreePool( id );
             break;
         }
         case DevicePropertyPhysicalDeviceObjectName:
@@ -658,17 +658,17 @@ NTSTATUS WINAPI IoRegisterDeviceInterface(DEVICE_OBJECT *device, const GUID *cla
             HeapFree( GetProcessHeap(), 0, id );
             if (!rc)
             {
-                HeapFree( GetProcessHeap(), 0, instance_id );
+                ExFreePool( instance_id );
                 return STATUS_UNSUCCESSFUL;
             }
         }
         else
         {
-            HeapFree( GetProcessHeap(), 0, instance_id );
+            ExFreePool( instance_id );
             return STATUS_UNSUCCESSFUL;
         }
     }
-    HeapFree( GetProcessHeap(), 0, instance_id );
+    ExFreePool( instance_id );
 
     if (!SetupDiCreateDeviceInterfaceW( set, &sp_device, class_guid, refstr ? refstr->Buffer : NULL, 0, &sp_iface ))
         return STATUS_UNSUCCESSFUL;
-- 
2.7.4




More information about the wine-devel mailing list