mirror of
https://github.com/reactos/reactos.git
synced 2025-04-18 03:34:11 +00:00
A free Windows-compatible Operating System - mirrored from GitHub
![]() - 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 |
||
---|---|---|
reactos | ||
rosapps | ||
rostests | ||
wallpaper |