glibc/stdio-common
Joseph Myers ede56038e5 Fix double free in __printf_fp_l (bug 26214).
__printf_fp_l has a double free bug in the case where it allocates
memory with malloc internally, then has an I/O error while outputting
trailing padding and tries to free that already-freed memory when the
error occurs.  This patch fixes this by setting the relevant pointer
to NULL after the first free (the only free of this pointer that isn't
immediately followed by returning from the function).

Tested for x86_64 and x86.
2020-07-09 21:51:49 +00:00
..
bits Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
_i18n_number.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
_itoa.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
_itowa.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
_itowa.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
asprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
bug1.c
bug1.input
bug2.c
bug3.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
bug4.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
bug5.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
bug6.c
bug6.input
bug7.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
bug8.c
bug9.c
bug10.c
bug11.c
bug12.c
bug13.c
bug14.c
bug16.c stdio-common: Use array_length and array_end macros 2017-11-02 12:45:20 +01:00
bug17.c [BZ #3902] 2007-01-22 16:18:03 +00:00
bug18.c * libio/wstrops.c (_IO_wstr_underflow): Clear errno before 2007-07-07 21:38:43 +00:00
bug18a.c * libio/wstrops.c (_IO_wstr_underflow): Clear errno before 2007-07-07 21:38:43 +00:00
bug19.c * stdio-common/vfscanf.c (_IO_vfscanf): Add additional test for EOF 2007-07-08 04:41:34 +00:00
bug19a.c * stdio-common/vfscanf.c (_IO_vfscanf): Add additional test for EOF 2007-07-08 04:41:34 +00:00
bug20.c * stdio-common/Makefile (tests): Add bug20. 2007-10-28 16:45:27 +00:00
bug21.c Use C99-compliant scanf under _GNU_SOURCE with modern compilers. 2019-01-03 11:12:39 -05:00
bug22.c Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). 2020-07-07 14:54:12 +00:00
bug23-2.c CVE-2012-3406: Stack overflow in vfprintf [BZ #16617] 2014-12-15 10:09:33 +01:00
bug23-3.c CVE-2012-3406: Stack overflow in vfprintf [BZ #16617] 2014-12-15 10:09:33 +01:00
bug23-4.c CVE-2012-3406: Stack overflow in vfprintf [BZ #16617] 2014-12-15 10:09:33 +01:00
bug23.c Fix allocation when handling positional parameters in printf. 2011-02-20 07:59:49 -05:00
bug24.c Add test for BZ 13114 2011-08-20 09:22:16 -04:00
bug25.c Another round of inclusion fixes for _ISOMAC testsuite. 2017-03-22 08:44:32 -04:00
bug26.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
bug-vfprintf-nargs.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ctermid.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
cuserid.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Depend
dprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
errlist-compat.c signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
errlist.c string: Add strerrorname_np and strerrordesc_np 2020-07-07 15:02:57 -03:00
errnobug.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
flockfile.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ftrylockfile.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
funlockfile.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fxprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
gentempfd.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
getline.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
getw.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
iovfscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
iovfwscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
isoc99_fscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
isoc99_scanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
isoc99_sscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
isoc99_vfscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
isoc99_vscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
isoc99_vsscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
itoa-digits.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
itoa-udigits.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
itowa-digits.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Makefile Fix double free in __printf_fp_l (bug 26214). 2020-07-09 21:51:49 +00:00
perror.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
printf_fp.c Fix double free in __printf_fp_l (bug 26214). 2020-07-09 21:51:49 +00:00
printf_fphex.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
printf_size.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
printf-parse.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
printf-parsemb.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
printf-parsewc.c
printf-prs.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
printf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
printf.h Rename __LONG_DOUBLE_USES_FLOAT128 to __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 2020-04-30 08:52:08 -05:00
psiginfo-data.h Fix typos. 2013-10-12 14:47:50 +02:00
psiginfo-define.h * locale/langinfo.h: nl_langinfo_l is in POSIX 2008. 2009-02-26 06:18:24 +00:00
psiginfo.c signal: Move sys_siglist to a compat symbol 2020-07-07 14:10:58 -03:00
psignal.c signal: Move sys_siglist to a compat symbol 2020-07-07 14:10:58 -03:00
putw.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
reg-modifier.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
reg-printf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
reg-type.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
remove.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
rename.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
renameat2.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
renameat.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
scanf1.c
scanf2.c
scanf3.c
scanf4.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
scanf5.c
scanf7.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
scanf8.c
scanf9.c
scanf10.c
scanf11.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
scanf12.c
scanf12.input
scanf13.c Avoid warning in scanf test. 2009-10-30 09:23:24 -07:00
scanf14.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
scanf14a.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
scanf15.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
scanf16.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
scanf16a.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
scanf17.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
scanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
siglist.c string: Add sigabbrev_np and sigdescr_np 2020-07-07 14:57:14 -03:00
snprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
stdio_ext.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
stdio_lim.h.in Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tempnam.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tempname.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
temptest.c
test_rdwr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-fseek.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-fwrite.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
test-popen.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-strerr.c string: Add strerrorname_np and strerrordesc_np 2020-07-07 15:02:57 -03:00
test-vfprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tfformat.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
tiformat.c
tllformat.c
tmpfile64.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tmpfile.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tmpnam_r.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tmpnam.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-bz11319-fortify2.c Use PRINTF_FORTIFY instead of _IO_FLAGS2_FORTIFY (bug 11319) 2018-12-05 18:15:43 -02:00
tst-bz11319.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-cookie.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-errno-manual.py signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
tst-fdopen.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
tst-ferror.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
tst-ferror.input
tst-fgets.c Prefer https for Sourceware links 2017-11-16 11:49:26 +05:30
tst-fileno.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-fmemopen2.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-fmemopen3.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-fmemopen4.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-fmemopen.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-fphex-wide.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-fphex.c stdio-common: Use array_length and array_end macros 2017-11-02 12:45:20 +01:00
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-fwrite.c Prefer https for Sourceware links 2017-11-16 11:49:26 +05:30
tst-gets.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-gets.input
tst-grouping.c Fix grouping when rounding increases number of integer digits. 2011-01-12 20:37:51 -05:00
tst-long-dbl-fphex.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-obprintf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-perror.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-popen2.c * libio/iopopen.c (_IO_new_proc_open): Don't close child_std_end 2007-07-19 17:03:08 +00:00
tst-popen.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-printf-bz18872.sh Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-printf-bz25691.c stdio: Add tests for printf multibyte convertion leak [BZ#25691] 2020-03-20 11:02:38 -03:00
tst-printf-fp-free.c Fix double free in __printf_fp_l (bug 26214). 2020-07-09 21:51:49 +00:00
tst-printf-round.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-printf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-printf.sh Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-printfsz-islongdouble.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-printfsz-islongdouble.sh Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-printfsz.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
tst-put-error.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-renameat2.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-rndseek.c Don't reduce test timeout to less than default 2018-10-17 09:34:13 +02:00
tst-scanf-round.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-setvbuf1.c * stdio-common/Makefile: Add rules to build and run tst-setvbuf1. 2008-07-08 16:32:55 +00:00
tst-setvbuf1.expect * stdio-common/Makefile: Add rules to build and run tst-setvbuf1. 2008-07-08 16:32:55 +00:00
tst-sprintf2.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-sprintf3.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-sprintf.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
tst-sscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-swprintf.c stdio-common: Use array_length and array_end macros 2017-11-02 12:45:20 +01:00
tst-swscanf.c * stdio-common/Makefile (tests): Add tst-swscanf. 2007-02-18 09:21:24 +00:00
tst-tmpnam.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-unbputc.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-unbputc.sh Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-ungetc.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
tst-unlockedio.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-vfprintf-mbs-prec.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-vfprintf-user-type.c Rename __LONG_DOUBLE_USES_FLOAT128 to __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 2020-04-30 08:52:08 -05:00
tst-vfprintf-width-prec-alloc.c Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). 2020-07-07 14:54:12 +00:00
tst-vfprintf-width-prec.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-wc-printf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tstdiomisc.c stdio-common: Use array_length and array_end macros 2017-11-02 12:45:20 +01:00
tstgetln.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tstgetln.input
tstscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tstscanf.input
Versions Add __vfscanf_internal and __vfwscanf_internal with flags arguments. 2018-12-05 18:15:42 -02:00
vfprintf-internal.c Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). 2020-07-07 14:54:12 +00:00
vfprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
vfscanf-internal.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
vfscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
vfwprintf-internal.c Add __v*printf_internal with flags arguments 2018-12-05 18:15:42 -02:00
vfwprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
vfwscanf-internal.c Add __vfscanf_internal and __vfwscanf_internal with flags arguments. 2018-12-05 18:15:42 -02:00
vfwscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
vprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
xbug.c Convert 703 function definitions to prototype style. 2015-10-16 20:21:49 +00:00