aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-gsm_cbsp.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/epan/dissectors/packet-gsm_cbsp.c b/epan/dissectors/packet-gsm_cbsp.c
index cab2004..606ead2 100644
--- a/epan/dissectors/packet-gsm_cbsp.c
+++ b/epan/dissectors/packet-gsm_cbsp.c
@@ -289,7 +289,7 @@ static const value_string cbsp_cause_vals[] = {
static const struct tlv_definition cbsp_att_tlvdef = {
.def = {
- [CBSP_IEI_MSG_CONTENT] = { TLV_TYPE_TLV, 0 },
+ [CBSP_IEI_MSG_CONTENT] = { TLV_TYPE_FIXED, 83 },
[CBSP_IEI_OLD_SERIAL_NR] = { TLV_TYPE_FIXED, 2 },
[CBSP_IEI_NEW_SERIAL_NR] = { TLV_TYPE_FIXED, 2 },
[CBSP_IEI_CELL_LIST] = { TLV_TYPE_TL16V, 0 },
@@ -349,6 +349,7 @@ static int hf_cbsp_num_of_res_slots = -1;
static int hf_cbsp_bcast_msg_type = -1;
static int hf_cbsp_warning_period = -1;
static int hf_cbsp_keepalive_period = -1;
+static int hf_cbsp_user_info_length = -1;
static gint ett_cbsp = -1;
static gint ett_cbsp_ie = -1;
@@ -358,7 +359,8 @@ static dissector_handle_t gsm_cbs_handle;
static void
dissect_cbsp_content_ie(tvbuff_t *tvb, packet_info *pinfo, guint offset, gint len, proto_tree *tree)
{
- tvbuff_t *next_tvb = tvb_new_subset_length(tvb, offset, len);
+ tvbuff_t *next_tvb = tvb_new_subset_length(tvb, offset+1, len-1);
+ proto_tree_add_item(tree, hf_cbsp_user_info_length, tvb, offset, 1, ENC_NA);
call_dissector(gsm_cbs_handle, next_tvb, pinfo, tree);
}
@@ -576,6 +578,8 @@ proto_register_cbsp(void)
FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL } },
{ &hf_cbsp_keepalive_period, { "Keepalive Repetition Period", "cbsp.keepalive_rep_period",
FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL } },
+ { &hf_cbsp_user_info_length, { "User Information Length", "cbsp.user_info_len",
+ FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL } },
};
static gint *ett[] = {
&ett_cbsp,