aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-ber.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ber.c b/epan/dissectors/packet-ber.c
index 882dadfc3d..ca18f6cdaa 100644
--- a/epan/dissectors/packet-ber.c
+++ b/epan/dissectors/packet-ber.c
@@ -431,6 +431,7 @@ int dissect_ber_sequence(gboolean implicit_tag, packet_info *pinfo, proto_tree *
proto_tree *tree = parent_tree;
proto_item *item = NULL;
int end_offset;
+ tvbuff_t *next_tvb;
/* first we must read the sequence header */
offset = dissect_ber_identifier(pinfo, tree, tvb, offset, &class, &pc, &tag);
@@ -503,7 +504,8 @@ ber_sequence_try_again:
}
/* call the dissector for this field */
- seq->func(pinfo, tree, tvb, hoffset);
+ next_tvb = tvb_new_subset(tvb, hoffset, eoffset-hoffset, eoffset-hoffset);
+ seq->func(pinfo, tree, next_tvb, 0);
seq++;
offset = eoffset;