aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Mathieson <martin.r.mathieson@googlemail.com>2018-12-13 17:47:22 +0000
committerMartin Mathieson <martin.r.mathieson@googlemail.com>2018-12-13 18:20:27 +0000
commit2d589df127c37c523374349c54b66df1bec1542b (patch)
treeb495dc8cc43053508c09cbc78d07555140e423cf
parent2754d4d80f705f0a9884cac06510f8d96fc1ba6f (diff)
DCT2000: skip optional carrier type in LTE RRC primitive header
Change-Id: I495e5b2da1b7c9a066294564837df471e25fbb73 Reviewed-on: https://code.wireshark.org/review/31037 Petri-Dish: Martin Mathieson <martin.r.mathieson@googlemail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
-rw-r--r--epan/dissectors/packet-catapult-dct2000.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/epan/dissectors/packet-catapult-dct2000.c b/epan/dissectors/packet-catapult-dct2000.c
index 982db908eb..6298a3b5ae 100644
--- a/epan/dissectors/packet-catapult-dct2000.c
+++ b/epan/dissectors/packet-catapult-dct2000.c
@@ -870,11 +870,12 @@ static void dissect_rrc_lte_nr(tvbuff_t *tvb, gint offset,
tag = tvb_get_guint8(tvb, offset++);
switch (tag) {
case 0x12: /* UE_Id_LCId */
-
+ {
/* Dedicated channel info */
/* Length will fit in one byte here */
- offset++;
+ guint len = tvb_get_guint8(tvb, offset++);
+ guint len_offset = offset;
logicalChannelType = Channel_DCCH;
@@ -907,7 +908,16 @@ static void dissect_rrc_lte_nr(tvbuff_t *tvb, gint offset,
/* Unexpected channel type */
return;
}
+
+ /* Optional Carrier Type */
+ if (((offset-len_offset) < len) && tvb_get_guint8(tvb, offset)==0x20) {
+ offset++;
+ /* TODO: could show in tree, but for now skip */
+ offset += (1+tvb_get_guint8(tvb, offset));
+ }
+
break;
+ }
case 0x1a: /* Cell_LCId */