]> sourceware.org Git - glibc.git/commit - ChangeLog
Tighten up vfprintf width, precision, and total length overflow handling.
authorDavid S. Miller <davem@davemloft.net>
Mon, 2 Apr 2012 21:31:19 +0000 (14:31 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 Apr 2012 21:31:19 +0000 (14:31 -0700)
commit135ffda8b84226a91c6062db69a61975b2f11cb6
tree5aa71e41591bc7246f36bb55fbf7dc7daaefd9d1
parent302cadd343d26cfa9b043c213c2a38de259464d8
Tighten up vfprintf width, precision, and total length overflow handling.

With help from Paul Eggert, Carlos O'Donell, and Roland McGrath.
* stdio-common/printf-parse.h (read_int): Change return type to
'int', return -1 on INT_MAX overflow.
* stdio-common/vfprintf.c (vfprintf): Validate width and precision
against overflow of INT_MAX.  Set errno to EOVERFLOW when 'done'
overflows INT_MAX.  Check for overflow of in-format-string precision
values properly.  Use EOVERFLOW rather than ERANGE throughout.  Use
SIZE_MAX not INT_MAX for integer overflow test.
* stdio-common/printf-parsemb.c: If read_int signals an overflow,
skip the construct in the format string but do not record anything.
* stdio-common/bug22.c: Adjust to test both width/prevision
INT_MAX overflow as well as total length INT_MAX overflow.  Check
explicitly for proper errno values.
ChangeLog
stdio-common/bug22.c
stdio-common/printf-parse.h
stdio-common/printf-parsemb.c
stdio-common/vfprintf.c
This page took 0.037477 seconds and 5 git commands to generate.