aboutsummaryrefslogtreecommitdiffstats
path: root/packet-gtp.c
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2004-07-16 21:24:26 +0000
committerJörg Mayer <jmayer@loplof.de>2004-07-16 21:24:26 +0000
commit9da0dd21d703f967c7e33d38ca6b7af548193871 (patch)
tree558e84308beb1c1dd53f3d8780125ce7e8d1f0f1 /packet-gtp.c
parent8106dc0862460d3447a5f9da6d3362a13b7344aa (diff)
Indces run from 0-2 if an array is declared as array[3].
This patch has been part of RedHat since 0.9.16, unfortunately the patch never made it into the mainline source. The patch seems to be authored by Phil Knirsch (from ethereal.spec: * Tue Nov 25 2003 Phil Knirsch <pknirsch@redhat.com> 0.9.16-3 - Fixed out of bound array access (#110749). svn path=/trunk/; revision=11380
Diffstat (limited to 'packet-gtp.c')
-rw-r--r--packet-gtp.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/packet-gtp.c b/packet-gtp.c
index a31e930532..169ba7be6f 100644
--- a/packet-gtp.c
+++ b/packet-gtp.c
@@ -2208,14 +2208,14 @@ decode_gtp_rai(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tr
te = proto_tree_add_text(tree, tvb, offset, 1, val_to_str(GTP_EXT_RAI, gtp_val, "Unknown message"));
ext_tree_rai = proto_item_add_subtree(te, ett_gtp_rai);
- byte[1] = tvb_get_guint8 (tvb, offset + 1);
- byte[2] = tvb_get_guint8 (tvb, offset + 2);
- byte[3] = tvb_get_guint8 (tvb, offset + 3);
- mcc = (byte[1] & 0x0F) * 100 + ((byte[1] & 0xF0) >> 4) * 10 + (byte[2] & 0x0F );
- if ((byte[2] & 0xF0) == 0xF0)
- mnc = (byte[3] & 0x0F) * 10 + ((byte[3] & 0xF0) >> 4);
+ byte[0] = tvb_get_guint8 (tvb, offset + 1);
+ byte[1] = tvb_get_guint8 (tvb, offset + 2);
+ byte[2] = tvb_get_guint8 (tvb, offset + 3);
+ mcc = (byte[0] & 0x0F) * 100 + ((byte[0] & 0xF0) >> 4) * 10 + (byte[1] & 0x0F );
+ if ((byte[1] & 0xF0) == 0xF0)
+ mnc = (byte[2] & 0x0F) * 10 + ((byte[2] & 0xF0) >> 4);
else
- mnc = (byte[3] & 0x0F) * 100 + ((byte[3] & 0xF0) >> 4 ) * 10 + ((byte[2] & 0xF0) >> 4);
+ mnc = (byte[2] & 0x0F) * 100 + ((byte[2] & 0xF0) >> 4 ) * 10 + ((byte[1] & 0xF0) >> 4);
proto_tree_add_uint(ext_tree_rai, hf_gtp_rai_mcc, tvb, offset+1, 2, mcc);
proto_tree_add_uint(ext_tree_rai, hf_gtp_rai_mnc, tvb, offset+2, 2, mnc);