aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gtpv2.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-12-11 09:39:15 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-12-11 09:39:15 +0000
commit1ecfc445b87df73df8236fe341c7be034a12bb93 (patch)
tree15ef040524c47815d586c8a136324b156e772779 /epan/dissectors/packet-gtpv2.c
parentc5c24d22778592cea4f2a79d109d051b6718be9d (diff)
From zhang lei:
Cause、RAB Context、PDU Numbers in packet-gtpv2.c are not dissected correctly. fixed in the patch. The patch did not apply cleanly to trunk, applied by hand. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8079 svn path=/trunk/; revision=46497
Diffstat (limited to 'epan/dissectors/packet-gtpv2.c')
-rw-r--r--epan/dissectors/packet-gtpv2.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/epan/dissectors/packet-gtpv2.c b/epan/dissectors/packet-gtpv2.c
index 7d300e6ea2..845f4e4de8 100644
--- a/epan/dissectors/packet-gtpv2.c
+++ b/epan/dissectors/packet-gtpv2.c
@@ -1037,7 +1037,7 @@ dissect_gtpv2_cause(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, pro
proto_tree_add_item(tree, hf_gtpv2_ie_len, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
/* a(n+4) Spare Instance */
- proto_tree_add_bits_item(tree, hf_gtpv2_spare_half_octet, tvb, offset >> 3, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(tree, hf_gtpv2_spare_half_octet, tvb, offset << 3, 4, ENC_BIG_ENDIAN);
proto_tree_add_item(tree, hf_gtpv2_instance, tvb, offset, 1, ENC_BIG_ENDIAN);
}
@@ -3579,7 +3579,7 @@ dissect_gtpv2_pdn_numbers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre
nsapi = (tvb_get_guint8(tvb, offset) & 0x08);
nsapi_ti = proto_tree_add_text(tree, tvb, offset, 1, "NSAPI: %d", nsapi);
nsapi_tree = proto_item_add_subtree(nsapi_ti, ett_gtpv2_pdn_numbers_nsapi);
- proto_tree_add_item(nsapi_tree, hf_gtpv2_spare_bits, tvb, offset << 3, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_bits_item(nsapi_tree, hf_gtpv2_spare_bits, tvb, offset << 3, 4, ENC_BIG_ENDIAN);
proto_tree_add_item(nsapi_tree, hf_gtpv2_pdn_numbers_nsapi, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_item_append_text(item, "NSAPI: %u", nsapi);
offset += 1;
@@ -4062,6 +4062,7 @@ dissect_gtpv2_rab_context(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre
/* 5 Spare NSAPI */
proto_tree_add_bits_item(tree, hf_gtpv2_spare_bits, tvb, offset << 3, 4, ENC_BIG_ENDIAN);
proto_tree_add_item(tree, hf_gtpv2_nsapi, tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
/* 6 to 7 DL GTP-U Sequence Number */
dlgtpu_seq = tvb_get_ntohs(tvb, offset);