Index: except.c =================================================================== --- except.c (revision 19876) +++ except.c (working copy) @@ -192,6 +192,12 @@ assert (top->except_type == XCEPT_CATCHER); except_free(catcher->except_obj.except_dyndata); + /* make sure no else can free this pointer again + See http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1001 + http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1202 + http://bugs.gentoo.org/show_bug.cgi?id=133092 + http://bugs.gentoo.org/show_bug.cgi?id=145974 */ + catcher->except_obj.except_dyndata = NULL; for (i = 0; i < catcher->except_size; pi++, i++) { if (match(&except->except_id, pi)) {