Re: sharutils does not build with -Werror=format-security

Bruce Korb <[email protected]>
Newsgroups gmane.comp.gnu.utils.bugs
Message-ID <[email protected]>
Hi Eric,

On 10/14/13 07:06, Eric Blake wrote:
>>>        else
>>> -      error (0, errno, _("Cannot get current directory name"));
>>> +      error (0, errno, "%s", _("Cannot get current directory name"));
>
> but in THIS form, xgettext sees no % mark, so it does NOT mark the .po
> file, and therefore gettext() no longer attempts to sanitize the
> translation, and a translator can sneak in any % mark.  Yes, you can
> argue that xgettext could be made smarter to properly annotate
> string-literal formats with a printf annotation to force runtime
> sanitization of the transalation, but for now, adding a "%s" format
> argument is the easiest way to shut up the existing tool chain rather
> than waiting for a fixed toolchain.

Then in this particular case, you are arguing for muddying up code
to accommodate deficiencies in the code analysis?  I definitely
prefer the "do it properly and let the tools get fixed" approach.
To that end, I went to the trouble of adding -Wformat-contains-nul
warning to GCC.

I agree with Paul's agreement with me:

> So you're right that if FOO is safe to use as
> a format string, then _(FOO) should be safe too.

http://autogen.sourceforge.net/data/sharutils-4.13.6pre3.tar.xz

I'll actually release 4.13.6 "RSN".  Cheers - Bruce
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.