[PATCH] selftests/proc: Fix string literal warning in proc-maps-race.c

Sukrut Heroorkar posted 1 patch 2 months ago
tools/testing/selftests/proc/proc-maps-race.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH] selftests/proc: Fix string literal warning in proc-maps-race.c
Posted by Sukrut Heroorkar 2 months ago
This change resolves non literal string format warning invoked
for proc-maps-race.c while compiling.

proc-maps-race.c:205:17: warning: format not a string literal and no format arguments [-Wformat-security]
  205 |                 printf(text);
      |                 ^~~~~~
proc-maps-race.c:209:17: warning: format not a string literal and no format arguments [-Wformat-security]
  209 |                 printf(text);
      |                 ^~~~~~
proc-maps-race.c: In function ‘print_last_lines’:
proc-maps-race.c:224:9: warning: format not a string literal and no format arguments [-Wformat-security]
  224 |         printf(start);
      |         ^~~~~~

Added string format specifier %s for the printf calls
in both print_first_lines() and print_last_lines() thus
resolving the warnings invoked.

The test executes fine after this change thus causing no
affect to the functional behavior of the test.

Signed-off-by: Sukrut Heroorkar <hsukrut3@gmail.com>
---
 tools/testing/selftests/proc/proc-maps-race.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/proc/proc-maps-race.c b/tools/testing/selftests/proc/proc-maps-race.c
index 66773685a047..94bba4553130 100644
--- a/tools/testing/selftests/proc/proc-maps-race.c
+++ b/tools/testing/selftests/proc/proc-maps-race.c
@@ -202,11 +202,11 @@ static void print_first_lines(char *text, int nr)
 		int offs = end - text;
 
 		text[offs] = '\0';
-		printf(text);
+		printf("%s", text);
 		text[offs] = '\n';
 		printf("\n");
 	} else {
-		printf(text);
+		printf("%s", text);
 	}
 }
 
@@ -221,7 +221,7 @@ static void print_last_lines(char *text, int nr)
 		nr--;
 		start--;
 	}
-	printf(start);
+	printf("%s", start);
 }
 
 static void print_boundaries(const char *title, FIXTURE_DATA(proc_maps_race) *self)
-- 
2.43.0

Re: [PATCH] selftests/proc: Fix string literal warning in proc-maps-race.c
Posted by Suren Baghdasaryan 2 months ago
On Sun, Aug 3, 2025 at 1:48 PM Sukrut Heroorkar <hsukrut3@gmail.com> wrote:
>
> This change resolves non literal string format warning invoked
> for proc-maps-race.c while compiling.
>
> proc-maps-race.c:205:17: warning: format not a string literal and no format arguments [-Wformat-security]
>   205 |                 printf(text);
>       |                 ^~~~~~
> proc-maps-race.c:209:17: warning: format not a string literal and no format arguments [-Wformat-security]
>   209 |                 printf(text);
>       |                 ^~~~~~
> proc-maps-race.c: In function ‘print_last_lines’:
> proc-maps-race.c:224:9: warning: format not a string literal and no format arguments [-Wformat-security]
>   224 |         printf(start);
>       |         ^~~~~~
>
> Added string format specifier %s for the printf calls
> in both print_first_lines() and print_last_lines() thus
> resolving the warnings invoked.
>
> The test executes fine after this change thus causing no
> affect to the functional behavior of the test.

Please add:

Fixes: aadc099c480f ("selftests/proc: add verbose mode for
/proc/pid/maps tearing tests")

>
> Signed-off-by: Sukrut Heroorkar <hsukrut3@gmail.com>

Acked-by: Suren Baghdasaryan <surenb@google.com>

Thanks,
Suren.

> ---
>  tools/testing/selftests/proc/proc-maps-race.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tools/testing/selftests/proc/proc-maps-race.c b/tools/testing/selftests/proc/proc-maps-race.c
> index 66773685a047..94bba4553130 100644
> --- a/tools/testing/selftests/proc/proc-maps-race.c
> +++ b/tools/testing/selftests/proc/proc-maps-race.c
> @@ -202,11 +202,11 @@ static void print_first_lines(char *text, int nr)
>                 int offs = end - text;
>
>                 text[offs] = '\0';
> -               printf(text);
> +               printf("%s", text);
>                 text[offs] = '\n';
>                 printf("\n");
>         } else {
> -               printf(text);
> +               printf("%s", text);
>         }
>  }
>
> @@ -221,7 +221,7 @@ static void print_last_lines(char *text, int nr)
>                 nr--;
>                 start--;
>         }
> -       printf(start);
> +       printf("%s", start);
>  }
>
>  static void print_boundaries(const char *title, FIXTURE_DATA(proc_maps_race) *self)
> --
> 2.43.0
>
Re: [PATCH] selftests/proc: Fix string literal warning in proc-maps-race.c
Posted by sukrut heroorkar 2 months ago
Hi Suren,

On Mon, Aug 4, 2025 at 9:47 PM Suren Baghdasaryan <surenb@google.com> wrote:
>
> On Sun, Aug 3, 2025 at 1:48 PM Sukrut Heroorkar <hsukrut3@gmail.com> wrote:
> >
> > This change resolves non literal string format warning invoked
> > for proc-maps-race.c while compiling.
> >
> > proc-maps-race.c:205:17: warning: format not a string literal and no format arguments [-Wformat-security]
> >   205 |                 printf(text);
> >       |                 ^~~~~~
> > proc-maps-race.c:209:17: warning: format not a string literal and no format arguments [-Wformat-security]
> >   209 |                 printf(text);
> >       |                 ^~~~~~
> > proc-maps-race.c: In function ‘print_last_lines’:
> > proc-maps-race.c:224:9: warning: format not a string literal and no format arguments [-Wformat-security]
> >   224 |         printf(start);
> >       |         ^~~~~~
> >
> > Added string format specifier %s for the printf calls
> > in both print_first_lines() and print_last_lines() thus
> > resolving the warnings invoked.
> >
> > The test executes fine after this change thus causing no
> > affect to the functional behavior of the test.
>
> Please add:
>
> Fixes: aadc099c480f ("selftests/proc: add verbose mode for
> /proc/pid/maps tearing tests")
>
> >
> > Signed-off-by: Sukrut Heroorkar <hsukrut3@gmail.com>
>
> Acked-by: Suren Baghdasaryan <surenb@google.com>
>
> Thanks,
> Suren.
>
> > ---
> >  tools/testing/selftests/proc/proc-maps-race.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/tools/testing/selftests/proc/proc-maps-race.c b/tools/testing/selftests/proc/proc-maps-race.c
> > index 66773685a047..94bba4553130 100644
> > --- a/tools/testing/selftests/proc/proc-maps-race.c
> > +++ b/tools/testing/selftests/proc/proc-maps-race.c
> > @@ -202,11 +202,11 @@ static void print_first_lines(char *text, int nr)
> >                 int offs = end - text;
> >
> >                 text[offs] = '\0';
> > -               printf(text);
> > +               printf("%s", text);
> >                 text[offs] = '\n';
> >                 printf("\n");
> >         } else {
> > -               printf(text);
> > +               printf("%s", text);
> >         }
> >  }
> >
> > @@ -221,7 +221,7 @@ static void print_last_lines(char *text, int nr)
> >                 nr--;
> >                 start--;
> >         }
> > -       printf(start);
> > +       printf("%s", start);
> >  }
> >
> >  static void print_boundaries(const char *title, FIXTURE_DATA(proc_maps_race) *self)
> > --
> > 2.43.0
> >

Thank you for the review and Acked-by.
I will add the Fixes tag and resend as V2 shortly.

Regards,
Sukrut.