fsx: Fix -Wformat-security warnings
authorTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Tue, 29 Aug 2017 13:37:14 +0000 (16:37 +0300)
committerEryu Guan <eguan@redhat.com>
Sun, 3 Sep 2017 04:19:26 +0000 (12:19 +0800)
Some distros (NixOS) have their build environment enable
-Werror=format-security by default for security/hardening reasons.
Currently fsx fails to build due to this:

fsx.c: In function 'prt':
fsx.c:215:18: error: format not a string literal and no format arguments [-Werror=format-security]
  fprintf(stdout, buffer);
                  ^
fsx.c:217:20: error: format not a string literal and no format arguments [-Werror=format-security]
   fprintf(fsxlogf, buffer);
                    ^
Indeed the compiler is correct here, if the message-to-be-printed were
to contain a '%', unpredictable things would happen. Fix this.

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
ltp/fsx.c

index 15029056f72ab3d716894cf613fa28dc7dd351b8..cc0a89787960a2653c54dd99ea3cc141a3a1f5ab 100644 (file)
--- a/ltp/fsx.c
+++ b/ltp/fsx.c
@@ -211,9 +211,9 @@ prt(const char *fmt, ...)
        va_start(args, fmt);
        vsnprintf(buffer, BUF_SIZE, fmt, args);
        va_end(args);
-       fprintf(stdout, buffer);
+       fprintf(stdout, "%s", buffer);
        if (fsxlogf)
-               fprintf(fsxlogf, buffer);
+               fprintf(fsxlogf, "%s", buffer);
 }
 
 void