diff options
author | Gerald Combs <gerald@wireshark.org> | 2022-10-24 10:04:27 -0700 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2022-10-24 18:53:09 +0000 |
commit | 85a9e05c52b1d011eb128d94d4c9c6893fe32472 (patch) | |
tree | 790b58fd43ff1f28ce70006d618df54793f727c3 /epan/dissectors/packet-ieee80211.c | |
parent | 39910654d3010fc1d199754c962979592293ebd6 (diff) |
IEEE 802.11: Fix DSCP string handling
Replace looped snprintfs with wmem_strbuf_append_printfs.
Diffstat (limited to 'epan/dissectors/packet-ieee80211.c')
-rw-r--r-- | epan/dissectors/packet-ieee80211.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c index 133855aa36..c733afedd2 100644 --- a/epan/dissectors/packet-ieee80211.c +++ b/epan/dissectors/packet-ieee80211.c @@ -8872,12 +8872,12 @@ static int * const resp_control_fields[] = { }; static int -dissect_dscp_policy_response(tvbuff_t *tvb, packet_info *pinfo _U_, +dissect_dscp_policy_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) { int start_offset = offset; guint8 count; - char status_buf[256]; + wmem_strbuf_t *status_buf = wmem_strbuf_new_label(pinfo->pool); guint sts_len = 0; int i; @@ -8904,20 +8904,20 @@ dissect_dscp_policy_response(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree_add_item(status_tree, hf_ieee80211_dscp_policy_id, tvb, offset, 1, ENC_NA); if (sts_len == 0) { - sts_len += snprintf(status_buf + sts_len, 256 - sts_len, "%u:", scsid); + wmem_strbuf_append_printf(status_buf, "%u:", scsid); } else { - sts_len += snprintf(status_buf + sts_len, 256 - sts_len, " %u:", scsid); + wmem_strbuf_append_printf(status_buf, " %u:", scsid); } offset += 1; status = tvb_get_guint8(tvb, offset); proto_tree_add_item(status_tree, hf_ieee80211_dscp_policy_status, tvb, offset, 1, ENC_NA); - sts_len += snprintf(status_buf + sts_len, 256 - sts_len, "%u", status); + wmem_strbuf_append_printf(status_buf, "%u", status); offset += 1; } proto_tree_add_string(tree, hf_ieee80211_dscp_policy_scs_sts_list, tvb, 0, 1, - status_buf); + wmem_strbuf_finalize(status_buf)); return offset - start_offset; } |