A free Windows-compatible Operating System - mirrored from GitHub
Find a file
Thomas Faber 00ee551726 [AFD]
- Do not pass IO_STATUS_BLOCKs when creating IRPs for asynchronous use. Fixes a use-after-free where AfdCloseSocket would cancel IRPs without actually waiting for their completion, and proceed to free the FCB, which contained these IO_STATUS_BLOCKs.
Note that using TdiBuildInternalDeviceControlIrp for these requests is broken in the first place, since it is intended for synchronous requests and requires a guarantee about the calling thread's lifetime. These functions (and their completion routines) should use IoAllocateIrp/IoReuseIrp/IoFreeIrp instead. However this can be fixed later; the incredibly annoying nonpaged pool corruption due to this that has been around for 10 years should be fixed with this commit.
CORE-8640 #resolve

svn path=/trunk/; revision=64838
2014-10-19 22:12:06 +00:00
reactos [AFD] 2014-10-19 22:12:06 +00:00
rosapps [BUTTERFLIES] 2014-09-24 22:18:51 +00:00
rostests [NTDLL_APITEST] Disable NtContinue test when runtime checks are enabled 2014-10-19 19:37:55 +00:00
wallpaper - Add CMakeLists for wallpaper 2012-02-05 13:43:04 +00:00