aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-sna.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/epan/dissectors/packet-sna.c b/epan/dissectors/packet-sna.c
index 70e8ef4337..7d589e2a08 100644
--- a/epan/dissectors/packet-sna.c
+++ b/epan/dissectors/packet-sna.c
@@ -2384,9 +2384,12 @@ dissect_control_05hpr(tvbuff_t *tvb, proto_tree *tree, int hpr,
if (len) {
dissect_control(tvb, offset, len, tree, hpr, parse);
pad = (len+3) & 0xfffc;
- if (pad > len)
+ if (pad > len) {
+ /* XXX - fix this, ensure tvb is large enough for pad */
+ tvb_ensure_bytes_exist(tvb, offset+len, pad-len);
proto_tree_add_text(tree, tvb, offset+len,
pad-len, "Padding");
+ }
offset += pad;
} else {
return;