[PATCH v1 2/2] selftest: breakpoints: clear the format string warning and secure the output

From: Mirsad Todorovac
Date: Tue Jan 09 2024 - 16:55:27 EST


GCC 13.2.0 compiler reported the following warning:

breakpoint_test.c: In function ‘check_success’:
breakpoint_test.c:287:17: warning: format not a string literal and no format arguments [-Wformat-security]
287 | ksft_test_result_pass(msg);
| ^~~~~~~~~~~~~~~~~~~~~
breakpoint_test.c:289:17: warning: format not a string literal and no format arguments [-Wformat-security]
289 | ksft_test_result_fail(msg);
| ^~~~~~~~~~~~~~~~~~~~~

ksft_*() functions are unprotected against potential spurious format specifiers
in msg.

Protecting the conversion with "%s\n" format string fixes the warning.

Fixes: 748e84b79af01 ("kselftest: breakpoints: convert breakpoint_test to TAP13 output")
Cc: Paul Elder <paul.elder@xxxxxxxx>
Cc: Alice Ferrazzi <alice.ferrazzi@xxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Shuah Khan <shuah@xxxxxxxxxx>
Cc: linux-kselftest@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Mirsad Todorovac <mirsad.todorovac@xxxxxxxxxxxx>
---
tools/testing/selftests/breakpoints/breakpoint_test.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/breakpoints/breakpoint_test.c b/tools/testing/selftests/breakpoints/breakpoint_test.c
index 3266cc9293fe..07249251859b 100644
--- a/tools/testing/selftests/breakpoints/breakpoint_test.c
+++ b/tools/testing/selftests/breakpoints/breakpoint_test.c
@@ -284,9 +284,9 @@ static void check_success(const char *msg)
nr_tests++;

if (ret)
- ksft_test_result_pass(msg);
+ ksft_test_result_pass("%s\n", msg);
else
- ksft_test_result_fail(msg);
+ ksft_test_result_fail("%s\n", msg);
}

static void launch_instruction_breakpoints(char *buf, int local, int global)
--
2.40.1