nas_5gs: can't decode 5GS NAS PDU when there are multiple NSSAIs.

Use dummy length in proto_tree_add_subtree_format(),
proto_item_set_len() will set the correct length later.
Bug: 15120
Change-Id: I7a56f3d1541b75eb53bc03750b6402a8b78a8251
Reviewed-on: https://code.wireshark.org/review/29465
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Rody Liu 2018-09-07 14:01:10 +02:00 committed by Anders Broman
parent 5c36055d9b
commit 0cb87b7389
1 changed files with 1 additions and 2 deletions

View File

@ -1076,8 +1076,7 @@ de_nas_5gs_mm_nssai(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
curr_offset = offset;
while ((curr_offset - offset) < len) {
sub_tree = proto_tree_add_subtree_format(tree, tvb, curr_offset, len, ett_nas_5gs_mm_nssai, &item, "S-NSSAI %u", i);
sub_tree = proto_tree_add_subtree_format(tree, tvb, curr_offset, 2, ett_nas_5gs_mm_nssai, &item, "S-NSSAI %u", i);
proto_tree_add_item_ret_uint(sub_tree, hf_nas_5gs_mm_length, tvb, curr_offset, 1, ENC_BIG_ENDIAN, &length);
curr_offset++;