aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-frame.c
diff options
context:
space:
mode:
authorUlf Lamping <ulf.lamping@web.de>2007-02-10 10:28:59 +0000
committerUlf Lamping <ulf.lamping@web.de>2007-02-10 10:28:59 +0000
commit5fef4e745bbd444189db994825a289ecd075fa9a (patch)
treeb386a301c249aee46732b306ae7dae9e7a3c8b1a /epan/dissectors/packet-frame.c
parentb04c53a23c78cb30fb39da5e4527a72dd5068578 (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/packet-frame.c')
-rw-r--r--epan/dissectors/packet-frame.c7
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