aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-snmp.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/epan/dissectors/packet-snmp.c b/epan/dissectors/packet-snmp.c
index 7e2d0b24c1..b655a13f52 100644
--- a/epan/dissectors/packet-snmp.c
+++ b/epan/dissectors/packet-snmp.c
@@ -1004,10 +1004,9 @@ snmp_variable_decode(proto_tree *snmp_tree, packet_info *pinfo,
start = asn1->offset;
/* parse the type of the object */
- offset = dissect_ber_identifier(pinfo , snmp_tree, asn1->tvb, start, &class, &pc, &ber_tag);
+ offset = dissect_ber_identifier(pinfo, snmp_tree, asn1->tvb, start, &class, &pc, &ber_tag);
offset = dissect_ber_length(pinfo, snmp_tree, asn1->tvb, offset, &vb_length, &ind);
-
asn1->offset = offset;
vb_value_start = offset;
@@ -1027,7 +1026,7 @@ snmp_variable_decode(proto_tree *snmp_tree, packet_info *pinfo,
switch (vb_type) {
case SNMP_INTEGER:
- offset = dissect_ber_integer(FALSE, pinfo, snmp_tree, asn1->tvb, start, -1, &vb_integer_value);
+ offset = dissect_ber_integer(FALSE, pinfo, NULL, asn1->tvb, start, -1, &vb_integer_value);
asn1->offset = offset;
length = offset - vb_value_start;
if (snmp_tree) {
@@ -1057,7 +1056,7 @@ snmp_variable_decode(proto_tree *snmp_tree, packet_info *pinfo,
case SNMP_COUNTER:
case SNMP_GAUGE:
case SNMP_TIMETICKS:
- offset = dissect_ber_integer(FALSE, pinfo, snmp_tree, asn1->tvb, start, -1, &vb_uinteger_value);
+ offset = dissect_ber_integer(FALSE, pinfo, NULL, asn1->tvb, start, -1, &vb_uinteger_value);
asn1->offset = offset;
length = offset - vb_value_start;
if (snmp_tree) {
@@ -1072,11 +1071,11 @@ snmp_variable_decode(proto_tree *snmp_tree, packet_info *pinfo,
#endif
if (vb_display_string != NULL) {
proto_tree_add_text(snmp_tree, asn1->tvb,
- offset, length,
+ vb_value_start, length,
"Value: %s", vb_display_string);
} else {
proto_tree_add_text(snmp_tree, asn1->tvb,
- offset, length,
+ vb_value_start, length,
"Value: %s: %u (%#x)", vb_type_name,
vb_uinteger_value, vb_uinteger_value);
}
@@ -1089,7 +1088,7 @@ snmp_variable_decode(proto_tree *snmp_tree, packet_info *pinfo,
case SNMP_NSAP:
case SNMP_BITSTR:
case SNMP_COUNTER64:
- offset = dissect_ber_octet_string(FALSE, pinfo, 0, asn1->tvb, start, -1, out_tvb);
+ offset = dissect_ber_octet_string(FALSE, pinfo, NULL, asn1->tvb, start, -1, out_tvb);
vb_octet_string = ep_tvb_memdup(asn1->tvb, vb_value_start, vb_length);
asn1->offset = offset;
@@ -1149,10 +1148,10 @@ snmp_variable_decode(proto_tree *snmp_tree, packet_info *pinfo,
break;
case SNMP_NULL:
- dissect_ber_null(FALSE, pinfo, snmp_tree, asn1->tvb, start, -1);
- length = asn1->offset - start;
+ dissect_ber_null(FALSE, pinfo, NULL, asn1->tvb, start, -1);
+ length = asn1->offset - vb_value_start;
if (snmp_tree) {
- proto_tree_add_text(snmp_tree, asn1->tvb, offset, length,
+ proto_tree_add_text(snmp_tree, asn1->tvb, vb_value_start, length,
"Value: %s", vb_type_name);
}
break;
@@ -1163,7 +1162,7 @@ snmp_variable_decode(proto_tree *snmp_tree, packet_info *pinfo,
vb_oid_length = oid_to_subid_buf(oid_buf, vb_length, vb_oid, ((vb_length+1) * sizeof(gulong)));
asn1->offset = offset + vb_length;
- length = asn1->offset - start;
+ length = asn1->offset - vb_value_start;
if (snmp_tree) {
#ifdef HAVE_SOME_SNMP
variable.val.objid = vb_oid;
@@ -1172,24 +1171,24 @@ snmp_variable_decode(proto_tree *snmp_tree, packet_info *pinfo,
vb_oid_length * sizeof (subid_t));
if (vb_display_string != NULL) {
proto_tree_add_text(snmp_tree, asn1->tvb,
- offset, length,
+ vb_value_start, length,
"Value: %s", vb_display_string);
free(vb_display_string);
} else {
proto_tree_add_text(snmp_tree, asn1->tvb,
- offset, length,
- "Value: [Out of memory]");
+ vb_value_start, length,
+ "Value: %s: [Out of memory]", vb_type_name);
}
#else /* HAVE_SOME_SNMP */
vb_display_string = format_oid(vb_oid, vb_oid_length);
if (vb_display_string != NULL) {
proto_tree_add_text(snmp_tree, asn1->tvb,
- offset, length,
+ vb_value_start, length,
"Value: %s: %s", vb_type_name,
vb_display_string);
} else {
proto_tree_add_text(snmp_tree, asn1->tvb,
- offset, length,
+ vb_value_start, length,
"Value: %s: [Out of memory]", vb_type_name);
}
#endif /* HAVE_SOME_SNMP */