diff options
author | Pascal Quantin <pascal@wireshark.org> | 2020-05-04 19:39:27 +0200 |
---|---|---|
committer | Pascal Quantin <pascal@wireshark.org> | 2020-05-04 19:20:35 +0000 |
commit | 274ec6adc4983008fc0b500aa28594d99649e474 (patch) | |
tree | ba308dd54c9075d067a84f39b026b1e683164881 /epan/dissectors/packet-nas_5gs.c | |
parent | 5b238a6c76634712c09e355c7945721a3a0ae8f1 (diff) |
NAS 5GS: fix highlighting of the QOs flow description elements
Change-Id: I3907f0dd4c985d4a4390ad37454967350b7745eb
Reviewed-on: https://code.wireshark.org/review/37099
Petri-Dish: Pascal Quantin <pascal@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Pascal Quantin <pascal@wireshark.org>
Diffstat (limited to 'epan/dissectors/packet-nas_5gs.c')
-rw-r--r-- | epan/dissectors/packet-nas_5gs.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/epan/dissectors/packet-nas_5gs.c b/epan/dissectors/packet-nas_5gs.c index 10e4818574..709f46a354 100644 --- a/epan/dissectors/packet-nas_5gs.c +++ b/epan/dissectors/packet-nas_5gs.c @@ -3183,10 +3183,10 @@ de_nas_5gs_sm_qos_flow_des(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _ { proto_tree *sub_tree, *sub_tree2; - proto_item *item; + proto_item *item, *sub_item; int i = 1, j = 1; guint32 param_len, param_id; - guint32 curr_offset, start_offset; + guint32 curr_offset, start_offset, start_offset2; guint8 num_param; guint32 unit, mult, val; const char *unit_str; @@ -3202,8 +3202,9 @@ de_nas_5gs_sm_qos_flow_des(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _ while ((curr_offset - offset) < len) { - /* QoS fow description */ - sub_tree = proto_tree_add_subtree_format(tree, tvb, curr_offset, -1, ett_nas_5gs_sm_qos_params, &item, "QoS flow description %u", i); + /* QoS flow description */ + sub_tree = proto_tree_add_subtree_format(tree, tvb, curr_offset, len - (curr_offset - offset), ett_nas_5gs_sm_qos_params, &item, "QoS flow description %u", i); + start_offset = curr_offset; /* 0 0 QFI */ proto_tree_add_item(sub_tree, hf_nas_5gs_sm_qfi, tvb, curr_offset, 1, ENC_BIG_ENDIAN); @@ -3223,9 +3224,8 @@ de_nas_5gs_sm_qos_flow_des(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _ while (num_param > 0) { /* Parameter list */ - sub_tree2 = proto_tree_add_subtree_format(sub_tree, tvb, curr_offset, -1, ett_nas_5gs_sm_qos_rules, &item, "Parameter %u", j); - - start_offset = curr_offset; + sub_tree2 = proto_tree_add_subtree_format(sub_tree, tvb, curr_offset, len - (curr_offset - offset), ett_nas_5gs_sm_qos_rules, &sub_item, "Parameter %u", j); + start_offset2 = curr_offset; /* Parameter identifier */ proto_tree_add_item_ret_uint(sub_tree2, hf_nas_5gs_sm_param_id, tvb, curr_offset, 1, ENC_BIG_ENDIAN, ¶m_id); @@ -3283,10 +3283,10 @@ de_nas_5gs_sm_qos_flow_des(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _ } num_param--; j++; - proto_item_set_len(item, curr_offset - start_offset); + proto_item_set_len(sub_item, curr_offset - start_offset2); } - i++; + proto_item_set_len(item, curr_offset - start_offset); } return len; |