aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ieee80211.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2022-10-24 10:04:27 -0700
committerGerald Combs <gerald@wireshark.org>2022-10-24 18:53:09 +0000
commit85a9e05c52b1d011eb128d94d4c9c6893fe32472 (patch)
tree790b58fd43ff1f28ce70006d618df54793f727c3 /epan/dissectors/packet-ieee80211.c
parent39910654d3010fc1d199754c962979592293ebd6 (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.c12
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;
}