aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-06-27 11:43:18 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-06-27 11:43:18 +0000
commit05f9375d55f3ac69531496f41ea0948254762d64 (patch)
tree4a1afade748f702b0dd55b3452412456a97e5d56 /epan
parent6838ce28071a27bcfa447f453c6677531aeefc53 (diff)
fix two bugs when updating offset incorrectly that could lead to an infinite loop when trying to decode an unknown ber structure
svn path=/trunk/; revision=14799
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-ber.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/epan/dissectors/packet-ber.c b/epan/dissectors/packet-ber.c
index e2b4400dc6..8ac9b7b42f 100644
--- a/epan/dissectors/packet-ber.c
+++ b/epan/dissectors/packet-ber.c
@@ -309,7 +309,7 @@ int dissect_unknown_ber(packet_info *pinfo, tvbuff_t *tvb, int offset, proto_tre
next_tree=proto_item_add_subtree(item, ett_ber_SEQUENCE);
}
next_tvb=tvb_new_subset(tvb, offset, len, len);
- offset=dissect_unknown_ber(pinfo, next_tvb, 0, next_tree);
+ offset += dissect_unknown_ber(pinfo, next_tvb, 0, next_tree);
break;
case BER_UNI_TAG_NumericString:
offset = dissect_ber_octet_string(FALSE, pinfo, tree, tvb, start_offset, hf_ber_unknown_NumericString, NULL);
@@ -331,7 +331,7 @@ int dissect_unknown_ber(packet_info *pinfo, tvbuff_t *tvb, int offset, proto_tre
next_tree=proto_item_add_subtree(item, ett_ber_SEQUENCE);
}
next_tvb=tvb_new_subset(tvb, offset, len, len);
- offset=dissect_unknown_ber(pinfo, next_tvb, 0, next_tree);
+ offset += dissect_unknown_ber(pinfo, next_tvb, 0, next_tree);
break;
default:
proto_tree_add_text(tree, tvb, offset, len, "BER: Error can not handle class:%d (0x%02x)",class,tvb_get_guint8(tvb, start_offset));