diff options
author | Andrea Claudi <aclaudi@redhat.com> | 2020-05-26 18:04:11 +0200 |
---|---|---|
committer | Stephen Hemminger <stephen@networkplumber.org> | 2020-05-27 15:05:25 -0700 |
commit | 354efaec3895f004382414f2df17e7d820e695f6 (patch) | |
tree | 4ed009836b9040980e0dd382b4ed5719ccbbd93e | |
parent | 358abfe004a30bf3ed353c7f5dbc6afaf4212ecf (diff) | |
download | iproute2-354efaec3895f004382414f2df17e7d820e695f6.tar.gz |
bpf: Fixes a snprintf truncation warning
gcc v9.3.1 reports:
bpf.c: In function ‘bpf_get_work_dir’:
bpf.c:784:49: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=]
784 | snprintf(bpf_wrk_dir, sizeof(bpf_wrk_dir), "%s/", mnt);
| ^
bpf.c:784:2: note: ‘snprintf’ output between 2 and 4097 bytes into a destination of size 4096
784 | snprintf(bpf_wrk_dir, sizeof(bpf_wrk_dir), "%s/", mnt);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fix this simply checking snprintf return code and properly handling the error.
Fixes: e42256699cac ("bpf: make tc's bpf loader generic and move into lib")
Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
-rw-r--r-- | lib/bpf.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -781,7 +781,11 @@ static const char *bpf_get_work_dir(enum bpf_prog_type type) } } - snprintf(bpf_wrk_dir, sizeof(bpf_wrk_dir), "%s/", mnt); + ret = snprintf(bpf_wrk_dir, sizeof(bpf_wrk_dir), "%s/", mnt); + if (ret < 0 || ret >= sizeof(bpf_wrk_dir)) { + mnt = NULL; + goto out; + } ret = bpf_gen_hierarchy(bpf_wrk_dir); if (ret) { |