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

Led ledest на gmail.com
Ср Июн 3 16:19:43 MSD 2009


On Wednesday 03 June 2009 15:11:28 Afanasov Dmitry wrote:
> On Wed, Jun 03, 2009 at 03:05:27PM +0300, Led wrote:
> > On Wednesday 03 June 2009 14:54:13 Afanasov Dmitry wrote:
> > > On Wed, Jun 03, 2009 at 02:49:35PM +0300, Led wrote:
> > > > On Wednesday 03 June 2009 14:20:01 Dmitry V. Levin wrote:
> > > > > grep 'warning: format not a string literal and no format arguments'
> > > >
> > > > А как правильно предлагается чинить подобное? Я чинил приведением
> > > > типа и/или заменой *printf на puts/fputs - так можно?
> > >
> > > printf(msg) --> printf("%s", msg)
> >
> > ИМХО это костыль
>
> не совсем :)
> http://doc.bughunter.net/format-string/exploit-fs.html
>
> суть - при передаче переменной в качестве формата, нет гарантии, что в
> этой переменное не будет какого-нибудь %p, который заставит printf залезть
> в стек и позволит его переписать: There is the `%n' parameter, which
> writes the number of bytes already printed, into a variable of our choice.

Костыль - использовать функцию для форматирования, если ничего форматировать 
не нужно.

-- 
Led


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