[dpdk-stable] patch 'app/procinfo: fix sprintf overrun' has been queued to LTS release 17.11.5

Yongseok Koh yskoh at mellanox.com
Thu Jan 3 09:13:38 CET 2019


Hi,

FYI, your patch has been queued to LTS release 17.11.5

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 01/04/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Yongseok

---
>From a115124be053c3475e0ee16861c98f00965070a0 Mon Sep 17 00:00:00 2001
From: Andy Green <andy at warmcat.com>
Date: Mon, 14 May 2018 13:01:02 +0800
Subject: [PATCH] app/procinfo: fix sprintf overrun
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 3cef37eb98769935fbc12e01f06d9ac36d430071 ]

app/proc-info/main.c: In function ‘nic_xstats_display’:
app/proc-info/main.c:495:45: error:
‘%s’ directive writing up to 255 bytes into a regioni of size between 165 and 232
[-Werror=format-overflow=]
    sprintf(buf, "PUTVAL %s/dpdkstat-port.%u/%s-%s N:%"
                                             ^~
     PRIu64"\n", host_id, port_id, counter_type,
                                   ~~~~~~~~~~~~
app/proc-info/main.c:495:4: note:
‘sprintf’ output between 31 and 435 bytes into a destination of size 256
    sprintf(buf, "PUTVAL %s/dpdkstat-port.%u/%s-%s N:%"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     PRIu64"\n", host_id, port_id, counter_type,
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     xstats_names[i].name, values[i]);

Fixes: 2deb6b5246d7 ("app/procinfo: add collectd format and host id")

Signed-off-by: Andy Green <andy at warmcat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
 app/proc_info/main.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/app/proc_info/main.c b/app/proc_info/main.c
index 875d91ea3..2893bec69 100644
--- a/app/proc_info/main.c
+++ b/app/proc_info/main.c
@@ -517,14 +517,18 @@ nic_xstats_display(uint16_t port_id)
 		if (enable_collectd_format) {
 			char counter_type[MAX_STRING_LEN];
 			char buf[MAX_STRING_LEN];
+			size_t n;
 
 			collectd_resolve_cnt_type(counter_type,
 						  sizeof(counter_type),
 						  xstats_names[i].name);
-			sprintf(buf, "PUTVAL %s/dpdkstat-port.%u/%s-%s N:%"
+			n = snprintf(buf, MAX_STRING_LEN,
+				"PUTVAL %s/dpdkstat-port.%u/%s-%s N:%"
 				PRIu64"\n", host_id, port_id, counter_type,
 				xstats_names[i].name, values[i]);
-			ret = write(stdout_fd, buf, strlen(buf));
+			if (n > sizeof(buf) - 1)
+				n = sizeof(buf) - 1;
+			ret = write(stdout_fd, buf, n);
 			if (ret < 0)
 				goto err;
 		} else {
-- 
2.11.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-01-02 23:59:12.900450583 -0800
+++ 0015-app-procinfo-fix-sprintf-overrun.patch	2019-01-02 23:59:12.054816000 -0800
@@ -1,4 +1,4 @@
-From 3cef37eb98769935fbc12e01f06d9ac36d430071 Mon Sep 17 00:00:00 2001
+From a115124be053c3475e0ee16861c98f00965070a0 Mon Sep 17 00:00:00 2001
 From: Andy Green <andy at warmcat.com>
 Date: Mon, 14 May 2018 13:01:02 +0800
 Subject: [PATCH] app/procinfo: fix sprintf overrun
@@ -6,6 +6,8 @@
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 
+[ upstream commit 3cef37eb98769935fbc12e01f06d9ac36d430071 ]
+
 app/proc-info/main.c: In function ‘nic_xstats_display’:
 app/proc-info/main.c:495:45: error:
 ‘%s’ directive writing up to 255 bytes into a regioni of size between 165 and 232
@@ -23,19 +25,18 @@
      xstats_names[i].name, values[i]);
 
 Fixes: 2deb6b5246d7 ("app/procinfo: add collectd format and host id")
-Cc: stable at dpdk.org
 
 Signed-off-by: Andy Green <andy at warmcat.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
 ---
- app/proc-info/main.c | 8 ++++++--
+ app/proc_info/main.c | 8 ++++++--
  1 file changed, 6 insertions(+), 2 deletions(-)
 
-diff --git a/app/proc-info/main.c b/app/proc-info/main.c
-index 539e13243..c20effa4f 100644
---- a/app/proc-info/main.c
-+++ b/app/proc-info/main.c
-@@ -488,14 +488,18 @@ nic_xstats_display(uint16_t port_id)
+diff --git a/app/proc_info/main.c b/app/proc_info/main.c
+index 875d91ea3..2893bec69 100644
+--- a/app/proc_info/main.c
++++ b/app/proc_info/main.c
+@@ -517,14 +517,18 @@ nic_xstats_display(uint16_t port_id)
  		if (enable_collectd_format) {
  			char counter_type[MAX_STRING_LEN];
  			char buf[MAX_STRING_LEN];


More information about the stable mailing list