[PATCH iproute2 v2 6/9] tc_class: fix snprintf warning

Stephen Hemminger
2018-03-20T20:29:21Z

Size buffer big enough to avoid any possible overflow.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
tc/tc_class.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tc/tc_class.c b/tc/tc_class.c
index 1b214b82c702..91802518bb27 100644
--- a/tc/tc_class.c
+++ b/tc/tc_class.c
@@ -219,7 +219,7 @@ static void graph_cls_show(FILE *fp, char *buf, struct hlist_head *root_list,
char cls_id_str[256] = {};
struct rtattr *tb[TCA_MAX + 1];
struct qdisc_util *q;
- char str[100] = {};
+ char str[300] = {};

hlist_for_each_safe(n, tmp_cls, root_list) {
struct hlist_node *c, *tmp_chld;
@@ -242,7 +242,8 @@ static void graph_cls_show(FILE *fp, char *buf, struct hlist_head *root_list,
graph_indent(buf, cls, 0, 0);

print_tc_classid(cls_id_str, sizeof(cls_id_str), cls->id);
- sprintf(str, "+---(%s)", cls_id_str);
+ snprintf(str, sizeof(str),
+ "+---(%s)", cls_id_str);
strcat(buf, str);

parse_rtattr(tb, TCA_MAX, (struct rtattr *)cls->data,
--
2.16.2