aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcp-etsi.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2007-11-15 19:38:04 +0000
committerGerald Combs <gerald@wireshark.org>2007-11-15 19:38:04 +0000
commit09360857b86f9e659595c2b61a44a20f4defc1e8 (patch)
tree817e29caf524d969af4cddc72676fc678e611f90 /epan/dissectors/packet-dcp-etsi.c
parentfe11ad092b95f30c1676b85492f23a73df88c989 (diff)
Don't try to reassemble a huge number of fragments.
svn path=/trunk/; revision=23463
Diffstat (limited to 'epan/dissectors/packet-dcp-etsi.c')
-rw-r--r--epan/dissectors/packet-dcp-etsi.c5
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));