libdvbv5: Fix build error with hardening build flags
authorGregor Jasny <gjasny@googlemail.com>
Mon, 21 May 2012 19:14:01 +0000 (21:14 +0200)
committerGregor Jasny <gjasny@googlemail.com>
Mon, 21 May 2012 19:16:25 +0000 (21:16 +0200)
On Debian and Ubuntu the following hardening flags are used:
(see dpkg-buildflags --export=sh)

export CFLAGS="-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security"
export CPPFLAGS="-D_FORTIFY_SOURCE=2"
export CXXFLAGS="-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security"
export FFLAGS="-g -O2"
export LDFLAGS="-Wl,-z,relro"

Without this commit the following error occurs:

dvb-fe.c:56:3: error: format not a string literal and no format arguments [-Werror=format-security]
dvb-fe.c:61:3: error: format not a string literal and no format arguments [-Werror=format-security]

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
lib/libdvbv5/dvb-fe.c

index 9c28166..ba7bdf0 100644 (file)
@@ -53,12 +53,12 @@ void dvb_default_log(int level, const char *fmt, ...)
        if(STDERR_FILENO == loglevels[level].fd)
                out = stderr;
        if(isatty(loglevels[level].fd))
-               fprintf(out, loglevels[level].color);
+               fputs(loglevels[level].color, out);
        fprintf(out, "%s ", loglevels[level].name);
        vfprintf(out, fmt, ap);
        fprintf(out, "\n");
        if(isatty(loglevels[level].fd))
-               fprintf(out, loglevels[LOG_COLOROFF].color);
+               fputs(loglevels[LOG_COLOROFF].color, out);
        va_end(ap);
 }