Control: tags -1 + patch

On 2021-09-10 19:37 +0200, Sven Joachim wrote:

> Source: cunit
> Version: 2.1-3-dfsg-2.3
> Severity: serious
> Tags: ftbfs bookworm sid
>
> Your package FTBFS with libncurses-dev 6.2+20210905-1, as several
> mvwprintw() calls now trigger format warnings from gcc which
> dpkg-buildflags turns into errors thanks to -Werror=format-security:
>
> ,----
> | Curses.c: In function 'show_suite_level_help':
> | Curses.c:955:37: error: format not a string literal and no format arguments 
> [-Werror=format-security]
> |   955 |   mvwprintw(details_pad.pPad, 0, 0, szTemp);
> |       |                                     ^~~~~~
> | Curses.c:959:37: error: format not a string literal and no format arguments 
> [-Werror=format-security]
> |   959 |   mvwprintw(details_pad.pPad, 2, 0, szTemp);
> |       |                                     ^~~~~~
> | Curses.c: In function 'list_tests':
> | Curses.c:1071:37: error: format not a string literal and no format 
> arguments [-Werror=format-security]
> |  1071 |   mvwprintw(details_pad.pPad, 0, 0, szTemp);
> |       |                                     ^~~~~~
> | Curses.c:1078:37: error: format not a string literal and no format 
> arguments [-Werror=format-security]
> |  1078 |   mvwprintw(details_pad.pPad, 1, 0, szTemp);
> |       |                                     ^~~~~~
> | Curses.c: In function 'curses_set_options_run':
> | Curses.c:1161:39: error: format not a string literal and no format 
> arguments [-Werror=format-security]
> |  1161 |     mvwprintw(details_pad.pPad, 2, 0, szTemp);
> |       |                                       ^~~~~~
> | cc1: some warnings being treated as errors
> `----
>
> A full build log is at [1].
>
> See #993179 for the change in ncurses which lead to these new errors.
>
>
> 1. 
> https://ci.debian.net/data/autopkgtest/testing/amd64/c/cunit/15168126/log.gz

The attached patch fixes that by adding "%s" as penultimate argument to
the mvwprintw calls, it can be added to the series in debian/patches.

From 2bd9d8d7967e574ed7e76084025a2e29faf97532 Mon Sep 17 00:00:00 2001
From: Sven Joachim <svenj...@gmx.de>
Date: Wed, 13 Oct 2021 19:23:18 +0200
Subject: [PATCH] Fix string format errors with recent ncurses

---
 CUnit/Sources/Curses/Curses.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/CUnit/Sources/Curses/Curses.c b/CUnit/Sources/Curses/Curses.c
index 17eaa30..3876e67 100644
--- a/CUnit/Sources/Curses/Curses.c
+++ b/CUnit/Sources/Curses/Curses.c
@@ -952,11 +952,11 @@ static void show_suite_level_help(CU_pSuite pSuite)

   snprintf(szTemp, STRING_LENGTH,   _("Commands:  R - run all tests in suite %s"),
                                     pSuite->pName);
-  mvwprintw(details_pad.pPad, 0, 0, szTemp);
+  mvwprintw(details_pad.pPad, 0, 0, "%s", szTemp);
   mvwprintw(details_pad.pPad, 1, 0, _("           S - Select and run a test"));
   snprintf(szTemp, STRING_LENGTH,   _("           L - List all tests registered in suite %s"),
                                     pSuite->pName);
-  mvwprintw(details_pad.pPad, 2, 0, szTemp);
+  mvwprintw(details_pad.pPad, 2, 0, "%s", szTemp);
   mvwprintw(details_pad.pPad, 3, 0, _("           A - Activate or deactivate a test (toggle)"));
   mvwprintw(details_pad.pPad, 4, 0, _("           F - Show failures from last test run"));
   mvwprintw(details_pad.pPad, 5, 0, _("           M - Move up to main menu"));
@@ -1068,14 +1068,14 @@ static void list_tests(CU_pSuite pSuite)
   }

   snprintf(szTemp, STRING_LENGTH, "%s: %s", _("Suite"), pSuite->pName);
-  mvwprintw(details_pad.pPad, 0, 0, szTemp);
+  mvwprintw(details_pad.pPad, 0, 0, "%s", szTemp);

   snprintf(szTemp, STRING_LENGTH,
            "%*s  %-*s%*s",
            width[0], _("#"),
            width[1], _("Test Name"),
            width[2], _("Active?"));
-  mvwprintw(details_pad.pPad, 1, 0, szTemp);
+  mvwprintw(details_pad.pPad, 1, 0, "%s", szTemp);

   for (i = 0, pCurTest = pSuite->pTest ;
        NULL != pCurTest ;
@@ -1158,7 +1158,7 @@ static STATUS curses_set_options_run(void)

     snprintf(szTemp, STRING_LENGTH,   _("   1 - Inactive suites/tests treated as runtime failures     %s"),
                                       (CU_FALSE != CU_get_fail_on_inactive()) ? _("Yes") : _("No "));
-    mvwprintw(details_pad.pPad, 2, 0, szTemp);
+    mvwprintw(details_pad.pPad, 2, 0, "%s", szTemp);
     refresh_details_window();
     read_input_string(_("Enter number of option to change : "), szTemp, STRING_LENGTH);
     option_num = atol(szTemp);
--
2.33.0

Reply via email to