diff options
author | gerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7> | 2007-11-15 19:38:04 +0000 |
---|---|---|
committer | gerald <gerald@f5534014-38df-0310-8fa8-9805f1628bb7> | 2007-11-15 19:38:04 +0000 |
commit | e8e9a9da02b6d789fd739756e762654ff83cced1 (patch) | |
tree | 817e29caf524d969af4cddc72676fc678e611f90 /epan/dissectors/packet-dcp-etsi.c | |
parent | 17afe87d89630e2e3e508df83973fa440028abc2 (diff) |
Don't try to reassemble a huge number of fragments.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23463 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-dcp-etsi.c')
-rw-r--r-- | epan/dissectors/packet-dcp-etsi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/epan/dissectors/packet-dcp-etsi.c b/epan/dissectors/packet-dcp-etsi.c index 34d3433c92..2556e5f24f 100644 --- a/epan/dissectors/packet-dcp-etsi.c +++ b/epan/dissectors/packet-dcp-etsi.c @@ -290,6 +290,11 @@ dissect_pft_fec_detailed(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, current_findex = 0; for(i=0; i<fragments; i++) { guint next_fragment_we_have = got[i]; + if (next_fragment_we_have > MAX_FRAGMENTS) { + if (tree) + proto_tree_add_text(tree, tvb , 0, -1, "[Reassembly of %d fragments not attempted]", next_fragment_we_have); + return NULL; + } for(; current_findex<next_fragment_we_have; current_findex++) { frag = fragment_add_seq_check (dummytvb, 0, pinfo, seq, dcp_fragment_table, dcp_reassembled_table, current_findex, plen, (current_findex+1!=fcount)); |