A free Windows-compatible Operating System - mirrored from GitHub
Go to file
Hermès Bélusca-Maïto c3c6b6199f [CONSRV]
- Use new helpers ConsoleAllocHeap and ConsoleFreeHeap instead of RtlAllocateHeap and RtlFreeHeap, to be able to use also debug heaps etc...
- Initialize completely CONSOLE and CONSOLE_SCREEN_BUFFER structures to avoid using unitializing fields, that can be prone to bugs.
- Do not unnecessarily lock the per-process IO handles table.
- Validate the console pointers when calling SrvCloseHandle / SrvVerifyConsoleIoHandle / SrvDuplicateHandle (so that we are sure to do valid operations for console applications, and fail properly for GUI ones).

- Fix a bug caught by [TheFlash] which unveiled only on livecds (why??) as random CSR heap corruptions. It was caused by corrupting the heap by freeing invalid IO handles when freeing the handles table inherited by default when starting a console application. I reworked the initialization code a bit and the freeing code to fix this problem.
  This bug was diagnosed with the help of Thomas Faber's debug heap (see http://www.reactos.org/wiki/User:ThFabba/Debug_Heap ), that I've augmented a bit (with dumping functions when a heap block was found invalid).

- Now reenable the CSR heap usage.

CORE-7157 #resolve #comment Resolved in revision 59001. Thanks for your help :D

svn path=/trunk/; revision=59001
2013-05-12 00:20:15 +00:00
reactos [CONSRV] 2013-05-12 00:20:15 +00:00
rosapps [ROSAPPS] 2013-04-13 21:33:53 +00:00
rostests [KMTESTS:FSRTL] 2013-05-06 11:24:55 +00:00
wallpaper