[Buildroot] [PATCH 1/1] package/liboping: fix build with ncurses-6.3
Bernd Kuhls
bernd.kuhls at t-online.de
Sun Dec 25 23:11:25 UTC 2022
https://git.busybox.net/buildroot/commit/?id=a38a30eb3a46570705642dc37235ddcc1471b434
bumped ncurses to version 6.3 which breaks build of liboping.
Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
---
...ys-use-s-style-format-for-printf-sty.patch | 59 +++++++++++++++++++
1 file changed, 59 insertions(+)
create mode 100644 package/liboping/0005-src-oping.c-always-use-s-style-format-for-printf-sty.patch
diff --git a/package/liboping/0005-src-oping.c-always-use-s-style-format-for-printf-sty.patch b/package/liboping/0005-src-oping.c-always-use-s-style-format-for-printf-sty.patch
new file mode 100644
index 0000000000..3b68feea3d
--- /dev/null
+++ b/package/liboping/0005-src-oping.c-always-use-s-style-format-for-printf-sty.patch
@@ -0,0 +1,59 @@
+From 670834fd8fbd2533ea25ca83065800e924116579 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich at gmail.com>
+Date: Mon, 15 Nov 2021 08:05:43 +0000
+Subject: [PATCH] src/oping.c: always use "%s"-style format for
+ printf()-style functions
+
+`ncuses-6.3` added printf-style function attributes and now makes
+it easier to catch cases when user input is used in palce of format
+string when built with CFLAGS=-Werror=format-security:
+
+ oping.c:1265:41: error: format not a string literal and no format arguments [-Werror=format-security]
+ 1265 | hist_symbols_utf8[index]);
+ | ^~~~~~~~~~~~~~~~~
+
+Let's wrap all the missing places with "%s" format.
+
+Downloaded from upstream PR https://github.com/octo/liboping/pull/61
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
+[Bernd: rebased for liboping version 1.10.0]
+---
+ src/oping.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/oping.c b/src/oping.c
+index c087c80..af4a0cb 100644
+--- a/src/oping.c
++++ b/src/oping.c
+@@ -1156,7 +1156,7 @@ static int update_graph_prettyping (ping_context_t *ctx, /* {{{ */
+ wattron (ctx->window, COLOR_PAIR(color));
+
+ if (has_utf8())
+- mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2, symbol);
++ mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2, "%s", symbol);
+ else
+ mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2, symbolc);
+
+@@ -1262,7 +1262,7 @@ static int update_graph_histogram (ping_context_t *ctx) /* {{{ */
+ mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2, ' ');
+ else if (has_utf8 ())
+ mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2,
+- hist_symbols_utf8[index]);
++ "%s", hist_symbols_utf8[index]);
+ else
+ mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2,
+ hist_symbols_acs[index] | A_ALTCHARSET);
+@@ -1639,8 +1639,7 @@ static void update_host_hook (pingobj_iter_t *iter, /* {{{ */
+
+ HOST_PRINTF ("%zu bytes from %s (%s): icmp_seq=%u ttl=%i ",
+ data_len, context->host, context->addr,
+- sequence, recv_ttl,
+- format_qos (recv_qos, recv_qos_str, sizeof (recv_qos_str)));
++ sequence, recv_ttl);
+ if ((recv_qos != 0) || (opt_send_qos != 0))
+ {
+ HOST_PRINTF ("qos=%s ",
+--
+2.34.1
+
--
2.34.1
More information about the buildroot
mailing list