diff options
author | Anders Broman <anders.broman@ericsson.com> | 2021-05-20 12:58:06 +0200 |
---|---|---|
committer | Wireshark GitLab Utility <gerald+gitlab-utility@wireshark.org> | 2021-05-20 12:21:06 +0000 |
commit | 31ca47eafcce356841a6bfc99c918013f4695f01 (patch) | |
tree | 69b7f44c3e664b6d904ef7d28695c3995a625c16 | |
parent | f54221b5796d021c544577d4f9d828ede25999d0 (diff) |
Use ENC_APN_STR in one more place.
-rw-r--r-- | epan/dissectors/packet-nas_5gs.c | 14 | ||||
-rw-r--r-- | epan/tvbuff.c | 10 |
2 files changed, 7 insertions, 17 deletions
diff --git a/epan/dissectors/packet-nas_5gs.c b/epan/dissectors/packet-nas_5gs.c index 149d0692f5..1ee1ae4e0a 100644 --- a/epan/dissectors/packet-nas_5gs.c +++ b/epan/dissectors/packet-nas_5gs.c @@ -5123,25 +5123,13 @@ de_nas_5gs_cmn_dnn(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, { guint32 curr_offset; - guint curr_len; - guint8 *str; proto_item *pi; curr_offset = offset; /* A DNN value field contains an APN as defined in 3GPP TS 23.003 */ - str = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, len, ENC_ASCII | ENC_NA); + pi = proto_tree_add_item(tree, hf_nas_5gs_cmn_dnn, tvb, curr_offset, len, ENC_APN_STR | ENC_NA); - curr_len = 0; - while (curr_len < len) - { - guint step = str[curr_len]; - str[curr_len] = '.'; - curr_len += step + 1; - } - - /* Highlight bytes including the first length byte */ - pi = proto_tree_add_string(tree, hf_nas_5gs_cmn_dnn, tvb, curr_offset, len, str + 1); if (len > 100) { expert_add_info(pinfo, pi, &ei_nas_5gs_dnn_too_long); } diff --git a/epan/tvbuff.c b/epan/tvbuff.c index 0c26a2f9f0..545ce3e972 100644 --- a/epan/tvbuff.c +++ b/epan/tvbuff.c @@ -1630,11 +1630,11 @@ validate_single_byte_ascii_encoding(const guint encoding) case ENC_KEYPAD_ABC_TBCD: case ENC_KEYPAD_BC_TBCD: case ENC_ETSI_TS_102_221_ANNEX_A: - case ENC_APN_STR: - REPORT_DISSECTOR_BUG("Invalid string encoding type passed to tvb_get_string_XXX"); - break; + case ENC_APN_STR: + REPORT_DISSECTOR_BUG("Invalid string encoding type passed to tvb_get_string_XXX"); + break; default: - break; + break; } /* make sure something valid was set */ if (enc == 0) @@ -3107,6 +3107,8 @@ tvb_get_string_enc(wmem_allocator_t *scope, tvbuff_t *tvb, const gint offset, name_len = name_len + strptr[tmp] + 1; strptr[tmp] = '.'; } + } else { + strptr = (char*)""; } } break; |