- Uhm...don't pool free user handles, and don't hand them to ObDereferenceObject

svn path=/trunk/; revision=38242
This commit is contained in:
Stefan Ginsberg 2008-12-21 18:16:12 +00:00
parent e8c93086b1
commit 6b3bec6873

View file

@ -428,7 +428,7 @@ IopDeviceFsIoControl(IN HANDLE DeviceHandle,
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{ {
/* Cleanup after exception */ /* Cleanup after exception */
IopCleanupAfterException(FileObject, Irp, Event, NULL); IopCleanupAfterException(FileObject, Irp, EventObject, NULL);
Status = _SEH2_GetExceptionCode(); Status = _SEH2_GetExceptionCode();
} }
_SEH2_END; _SEH2_END;
@ -485,7 +485,7 @@ IopDeviceFsIoControl(IN HANDLE DeviceHandle,
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{ {
/* Cleanup after exception */ /* Cleanup after exception */
IopCleanupAfterException(FileObject, Irp, Event, NULL); IopCleanupAfterException(FileObject, Irp, EventObject, NULL);
Status = _SEH2_GetExceptionCode(); Status = _SEH2_GetExceptionCode();
} }
_SEH2_END; _SEH2_END;
@ -2107,7 +2107,7 @@ NtReadFile(IN HANDLE FileHandle,
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{ {
/* Allocating failed, clean up */ /* Allocating failed, clean up */
IopCleanupAfterException(FileObject, Irp, NULL, Event); IopCleanupAfterException(FileObject, Irp, EventObject, NULL);
Status = _SEH2_GetExceptionCode(); Status = _SEH2_GetExceptionCode();
} }
_SEH2_END; _SEH2_END;
@ -2139,7 +2139,7 @@ NtReadFile(IN HANDLE FileHandle,
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{ {
/* Allocating failed, clean up */ /* Allocating failed, clean up */
IopCleanupAfterException(FileObject, Irp, Event, NULL); IopCleanupAfterException(FileObject, Irp, EventObject, NULL);
Status = _SEH2_GetExceptionCode(); Status = _SEH2_GetExceptionCode();
_SEH2_YIELD(return Status); _SEH2_YIELD(return Status);
} }
@ -2971,7 +2971,7 @@ NtWriteFile(IN HANDLE FileHandle,
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{ {
/* Allocating failed, clean up */ /* Allocating failed, clean up */
IopCleanupAfterException(FileObject, Irp, Event, NULL); IopCleanupAfterException(FileObject, Irp, EventObject, NULL);
Status = _SEH2_GetExceptionCode(); Status = _SEH2_GetExceptionCode();
_SEH2_YIELD(return Status); _SEH2_YIELD(return Status);
} }
@ -3000,7 +3000,7 @@ NtWriteFile(IN HANDLE FileHandle,
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{ {
/* Allocating failed, clean up */ /* Allocating failed, clean up */
IopCleanupAfterException(FileObject, Irp, Event, NULL); IopCleanupAfterException(FileObject, Irp, EventObject, NULL);
Status = _SEH2_GetExceptionCode(); Status = _SEH2_GetExceptionCode();
_SEH2_YIELD(return Status); _SEH2_YIELD(return Status);
} }