diff options
author | Ulf Lamping <ulf.lamping@web.de> | 2007-02-10 10:28:59 +0000 |
---|---|---|
committer | Ulf Lamping <ulf.lamping@web.de> | 2007-02-10 10:28:59 +0000 |
commit | 5fef4e745bbd444189db994825a289ecd075fa9a (patch) | |
tree | b386a301c249aee46732b306ae7dae9e7a3c8b1a /epan/dissectors | |
parent | b04c53a23c78cb30fb39da5e4527a72dd5068578 (diff) |
add STATUS_STACK_OVERFLOW to the possible Win32 exception codes - unfortunately, this exception seems to corrupt the stack at least in a way that the TRY / CATCH pair later causes an access violation ...
svn path=/trunk/; revision=20764
Diffstat (limited to 'epan/dissectors')
-rw-r--r-- | epan/dissectors/packet-frame.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/epan/dissectors/packet-frame.c b/epan/dissectors/packet-frame.c index b9d77f6354..6c7db4dc10 100644 --- a/epan/dissectors/packet-frame.c +++ b/epan/dissectors/packet-frame.c @@ -312,10 +312,15 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) show_exception(tvb, pinfo, parent_tree, DissectorError, "STATUS_INTEGER_DIVIDE_BY_ZERO: dissector tried an integer division by zero"); break; + case(STATUS_STACK_OVERFLOW): + show_exception(tvb, pinfo, parent_tree, DissectorError, + "STATUS_STACK_OVERFLOW: dissector overflowed the stack (e.g. endless loop)"); + /* XXX - this will have probably corrupted the stack, which makes problems later in the exception code */ + break; /* XXX - add other hardware exception codes as required */ default: show_exception(tvb, pinfo, parent_tree, DissectorError, - g_strdup_printf("dissector caused an unknown exception: %u", GetExceptionCode())); + g_strdup_printf("dissector caused an unknown exception: 0x%x", GetExceptionCode())); } } #endif |