Alexander Morozov : ntoskrnl.exe: Initialize some IRP fields to prevent using bad pointers by IofCompleteRequest .

Alexandre Julliard julliard at winehq.org
Thu Oct 16 06:07:23 CDT 2008


Module: wine
Branch: master
Commit: e99451561dc431d3b22125ec235c6fafaba191c9
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e99451561dc431d3b22125ec235c6fafaba191c9

Author: Alexander Morozov <amorozov at etersoft.ru>
Date:   Thu Oct 16 12:06:23 2008 +0400

ntoskrnl.exe: Initialize some IRP fields to prevent using bad pointers by IofCompleteRequest.

---

 dlls/ntoskrnl.exe/ntoskrnl.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 1ed3040..4a20d5e 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -153,6 +153,7 @@ static NTSTATUS process_ioctl( DEVICE_OBJECT *device, ULONG code, void *in_buff,
     irp.UserBuffer = out_buff;
     irp.MdlAddress = &mdl;
     irp.Tail.Overlay.s.u.CurrentStackLocation = &irpsp;
+    irp.UserIosb = NULL;
 
     irpsp.MajorFunction = IRP_MJ_DEVICE_CONTROL;
     irpsp.Parameters.DeviceIoControl.OutputBufferLength = *out_size;
@@ -160,6 +161,7 @@ static NTSTATUS process_ioctl( DEVICE_OBJECT *device, ULONG code, void *in_buff,
     irpsp.Parameters.DeviceIoControl.IoControlCode = code;
     irpsp.Parameters.DeviceIoControl.Type3InputBuffer = in_buff;
     irpsp.DeviceObject = device;
+    irpsp.CompletionRoutine = NULL;
 
     mdl.Next = NULL;
     mdl.Size = 0;




More information about the wine-cvs mailing list