reactos/ntoskrnl/cc
Timo Kreuzer cb74d9e24e [NTOS/CC] Fix broken usage of _SEH2_FINALLY
Finally handlers are - unlike except blocks - not part of the function they are in, but separate functions, which are called during unwind. PSEH implements them on GCC using nested functions. While "return" from a finally handler is allowed with native SEH, it's handled by the compiler through an extra unwinding operation using _local_unwind, WHICH IS NOT SUPPORTED BY PSEH! With PSEH, returning from a finally handler does not return from the function, instead it will only return from the finally handler and the function will continue below the finally handler as if there was no return at all. To fix this, the return is removed and an additional success check is added.
Also use _SEH_VOLATILE to make sure the variable assignment is not optimized away by the compiler and add zero out the result parameters on error.
2023-04-14 11:56:08 +03:00
..
cacheman.c Address PR review 2021-02-03 09:41:24 +01:00
copy.c [NTOS/CC] Fix calls to CcRosEnsureVacbResident 2023-04-14 11:56:08 +03:00
fs.c [NTOS:CC] Unintialize private cache maps before purging the cache section 2022-02-02 17:45:59 +01:00
lazywrite.c [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
mdl.c [NTOS:CC] CcMdl*Complete(): Return if FastIO succeeded (#3303) 2020-10-31 15:18:02 +01:00
pin.c [NTOS/CC] Fix broken usage of _SEH2_FINALLY 2023-04-14 11:56:08 +03:00
view.c [NTOS] Include kdbg/kdb.h only in the files that really need it. 2023-04-11 00:44:10 +02:00