[devel] Добавление -Werror=format-security

Led ledest на gmail.com
Ср Июн 3 15:49:35 MSD 2009


On Wednesday 03 June 2009 14:20:01 Dmitry V. Levin wrote:
> On Wed, Jun 03, 2009 at 02:54:21PM +0400, Dmitry V. Levin wrote:
> > On Wed, Jun 03, 2009 at 05:21:02AM +0400, Vitaly Lipatov wrote:
> > > Есть предложение добавить в стандартные флаги (CFLAGS)
> > > -Werror=format-security
> > > Предотвращает конструкции вида
> > > *printf(msg)
> > > где msg - форматная строка неизвестного содержания.
> > > Наткнулся на это в Mandriva.
> >
> > В gcc4.4 я включил по умолчанию -Wformat и -Wformat-security,
> > см. "ALT Linux gcc 4.4.0-alt1" в "info gcc" (там же написано, как это
> > отключить).
> >
> > Добавить -Werror=format-security по умолчанию куда-либо при текущем
> > уровне несобираемости Сизифа (4.6%), как мне кажется, ещё рано.
>
> Точно рано: сломается сборка ещё примерно 800 пакетов, что почти в 2 раза
> превышает число несобирающихся сейчас пакетов.
>
> > Пока что могу посоветовать читать (или хотя бы грепать) логи сборки
> > пакетов.
>
> grep 'warning: format not a string literal and no format arguments'

А как правильно предлагается чинить подобное? Я чинил приведением типа и/или 
заменой *printf на puts/fputs - так можно?

-- 
Led


Подробная информация о списке рассылки Devel