Nope, the __declspec(noreturn) didn't suffice - either abort() isn't
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 18 Feb 2011 02:49:46 +0000 (02:49 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 18 Feb 2011 02:49:46 +0000 (02:49 +0000)
declared as a noreturn function or declaring except_throw() as a
noreturn function isn't good enough.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@35997 f5534014-38df-0310-8fa8-9805f1628bb7

epan/dissectors/packet-iwarp-mpa.c

index 0afdad6a9abafc3a333f3109222d9a59fbfa41dc..f76adcff6c346fd2c4cb0aa9769abeb711fd9f91 100644 (file)
@@ -826,7 +826,7 @@ dissect_iwarp_mpa(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                }
 
                /* Markers are used by either the Initiator or the Responder or both. */
-               if (state->ini_exp_m_res || state->res_exp_m_ini) {
+               if ((state->ini_exp_m_res || state->res_exp_m_ini) && endpoint <= MPA_RESPONDER) {
 
                        /* find the TCP sequence number of the first FPDU */
                        if (!state->minfo[endpoint].valid) {
@@ -844,7 +844,7 @@ dissect_iwarp_mpa(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
                        return FALSE;
 
                /* removes Markers if any and prepares new tvbuff for next dissector */
-               if (state->minfo[endpoint].valid
+               if (endpoint <= MPA_RESPONDER && state->minfo[endpoint].valid
                                && number_of_markers(state, tcpinfo, endpoint) > 0) {
                        next_tvb = tvb_new_subset(remove_markers(tvb, pinfo,
                                        get_first_marker_offset(state, tcpinfo, endpoint),