Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3315 -
[obnox/wireshark/wip.git] / epan / dissectors / packet-sctp.c
index de0f986f02dcca4a6760bb8ccae61fdac8245533..18fdfbb562a3d08cc3be697168297fab620a890a 100644 (file)
@@ -2356,6 +2356,8 @@ fragment_reassembly(tvbuff_t *tvb, sctp_fragment* fragment,
                                      frag_i->frame_num, "Frame: %u, payload: %u-%u (%u bytes)",
                                      frag_i->frame_num, offset, offset + frag_i->len - 1, frag_i->len);
           offset += frag_i->len;
+
+         mark_frame_as_depended_upon(pinfo, frag_i->frame_num);
         }
 
         for (frag_i = msg->fragments;
@@ -2366,6 +2368,8 @@ fragment_reassembly(tvbuff_t *tvb, sctp_fragment* fragment,
                                      frag_i->frame_num, "Frame: %u, payload: %u-%u (%u bytes)",
                                      frag_i->frame_num, offset, offset + frag_i->len - 1, frag_i->len);
           offset += frag_i->len;
+
+         mark_frame_as_depended_upon(pinfo, frag_i->frame_num);
         }
       } else {
         for (frag_i = find_fragment(message->begin, stream_id, stream_seq_num);
@@ -2376,6 +2380,8 @@ fragment_reassembly(tvbuff_t *tvb, sctp_fragment* fragment,
                                      frag_i->frame_num, "Frame: %u, payload: %u-%u (%u bytes)",
                                      frag_i->frame_num, offset, offset + frag_i->len - 1, frag_i->len);
           offset += frag_i->len;
+
+         mark_frame_as_depended_upon(pinfo, frag_i->frame_num);
         }
       }