|
Message-ID: <56A3F0F8.7010104@hauke-m.de> Date: Sat, 23 Jan 2016 22:30:32 +0100 From: Hauke Mehrtens <hauke@...ke-m.de> To: musl@...ts.openwall.com Subject: Re: [PATCH] Add format attribute to some function declarations On 01/23/2016 10:05 PM, Alexander Monakov wrote: > On Sat, 23 Jan 2016, Hauke Mehrtens wrote: > >> GCC and Clang are able to check the format arguments given to a >> function and warn the user if there is a error in the format arguments >> or if there is a potential uncontrolled format string security problem >> in the code. GCC does this automatically for some functions like >> printf(), but it is also possible to annotate other functions in a way >> that it will check them too. This feature is used by glibc for many >> functions. This patch adds the attribute to the some functions of musl >> expect for these functions where gcc automatically adds it. > > Here's how a similar change was done the last time around: > http://git.musl-libc.org/cgit/musl/commit/?id=ccc71e0ea881b7f6594ed95afd706442829c39fc Ok, I will do it in a similar way. Is there a central file where I can put the "#if __GNUC__ >= 3" or should I put it into all 4 files? > Note that that approach avoids repeating #ifdef __GNUC__ ... > > How did you choose which functions from stdio.h to annotate? Are you saying > that gcc is unaware of snprintf while it recognizes sprintf? snprintf is only check when in C99 mode. This is from the GCC documentation: > The compiler always (unless -ffreestanding or -fno-builtin is used) > checks formats for the standard library functions printf, fprintf, > sprintf, scanf, fscanf, sscanf, strftime, vprintf, vfprintf and > vsprintf whenever such warnings are requested (using -Wformat), so > there is no need to modify the header file stdio.h. In C99 mode, the > functions snprintf, vsnprintf, vscanf, vfscanf and vsscanf are also > checked. Except in strictly conforming C standard modes, the X/Open > function strfmon is also checked as are printf_unlocked and > fprintf_unlocked. See Options Controlling C Dialect. glibc did it the same way. Hauke
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.