[PATCH 1/2] ntdll: handle corrupt stack frame in RtlCaptureStackBackTrace()

Janne Hakonen joyer83 at live.fi
Sat Jan 29 08:18:45 CST 2011


Current implementation of RtlCaptureStackBackTrace on i386 architecture throws
access violation if one of the call stack's frame pointers point to invalid
address.
This patch aims to protect agains this kind of situation by wrapping code
inside RtlCaptureStackBackTrace to __TRY - __EXCEPT block to allow the
function to fail gracefully and return only count of frames that could be
gotten succesfully.

This patch corrects crash when trying to open Anarchy Online's ingame
item store.
Test cases for RtlCaptureStackBackTrace() are included in another patch
in this patchset.
---
 dlls/ntdll/signal_i386.c |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ntdll-handle-corrupt-stack-frame-in-RtlCaptureStackB.patch
Type: text/x-patch
Size: 1283 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20110129/9a16098d/attachment.bin>


More information about the wine-patches mailing list