glibc/debug
Florian Weimer 0d50f477f4 stdio-common: Handle -1 buffer size in __sprintf_chk & co (bug 30039)
This shows up as an assertion failure when sprintf is called with
a specifier like "%.8g" and libquadmath is linked in:

Fatal glibc error: printf_buffer_as_file.c:31
  (__printf_buffer_as_file_commit): assertion failed:
  file->stream._IO_write_ptr <= file->next->write_end

Fix this by detecting pointer wraparound in __vsprintf_internal
and saturate the addition to the end of the address space instead.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
2023-01-25 08:01:00 +01:00
..
asprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
backtrace-tst.c Add #include <stdint.h> for uint[32|64]_t usage (except installed headers). 2013-05-16 11:32:54 -05:00
backtrace.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
backtracesyms.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
backtracesymsfd.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
chk_fail.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
confstr_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Depend * stdlib/bits/stdlib.h: New file. 2005-07-13 06:09:58 +00:00
dprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
execinfo.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
explicit_bzero_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fdelt_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fgets_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fgets_u_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fgetws_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fgetws_u_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fortify_fail.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fread_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fread_u_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fwprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
getcwd_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
getdomainname_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
getgroups_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
gethostname_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
gets_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
getwd_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
longjmp_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Makefile stdio-common: Handle -1 buffer size in __sprintf_chk & co (bug 30039) 2023-01-25 08:01:00 +01:00
mbsnrtowcs_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
mbsrtowcs_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
mbstowcs_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memcpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memmove_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
mempcpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
memset_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
noophooks.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
obprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
pcprofile.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
pcprofiledump.c Update copyright dates not handled by scripts/update-copyrights 2023-01-06 21:45:36 +00:00
poll_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ppoll_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
pread64_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
pread_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
read_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
readlink_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
readlinkat_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
readonly-area.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
realpath_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
recv_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
recvfrom_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
snprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stack_chk_fail_local.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stack_chk_fail.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stpcpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stpncpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strcat_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strcpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strncat_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
strncpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
swprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-stpcpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strcpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-backtrace2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-backtrace3.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-backtrace4.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-backtrace5.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-backtrace6.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-backtrace.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-chk-cancel.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-fortify.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-longjmp_chk2.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
tst-longjmp_chk3.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-longjmp_chk.c tests: unify fortification handler logic 2014-02-08 06:58:43 -05:00
tst-realpath-chk.c fortify: Fix spurious warning with realpath 2021-12-17 18:49:27 +05:30
tst-sprintf-fortify-unchecked.c stdio-common: Handle -1 buffer size in __sprintf_chk & co (bug 30039) 2023-01-25 08:01:00 +01:00
tst-ssp-1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ttyname_r_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vasprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vdprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Versions New string function explicit_bzero (from OpenBSD). 2016-12-16 16:21:54 -05:00
vfprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vfwprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vobprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vsnprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vsprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vswprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vwprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wcpcpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wcpncpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wcrtomb_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wcscat_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wcscpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wcsncat_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wcsncpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wcsnrtombs_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wcsrtombs_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wcstombs_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wctomb_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wmemcpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wmemmove_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wmempcpy_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wmemset_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wprintf_chk.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
xtrace.sh Update copyright dates not handled by scripts/update-copyrights 2023-01-06 21:45:36 +00:00