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
Depend
Makefile Fix double free in __printf_fp_l (bug 26214). 2020-07-09 21:51:49 +00:00
Versions Add __vfscanf_internal and __vfwscanf_internal with flags arguments. 2018-12-05 18:15:42 -02: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
bug-vfprintf-nargs.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
bug17.c
bug18.c
bug18a.c
bug19.c
bug19a.c
bug20.c
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
bug23-3.c
bug23-4.c
bug23.c
bug24.c
bug25.c
bug26.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
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
perror.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
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
psiginfo-data.h
psiginfo-define.h
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
renameat.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
scanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
scanf1.c
scanf2.c
scanf3.c
scanf4.c
scanf5.c
scanf7.c
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
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
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-fseek.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
test-fwrite.c
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
test_rdwr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tfformat.c
tiformat.c
tllformat.c
tmpfile.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tmpfile64.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
tmpnam_r.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
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
tst-ferror.input
tst-fgets.c
tst-fileno.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-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-fphex-wide.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-fphex.c
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-fwrite.c
tst-gets.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-gets.input
tst-grouping.c
tst-long-dbl-fphex.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-obprintf.c
tst-perror.c
tst-popen.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-popen2.c
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
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
tst-setvbuf1.expect
tst-sprintf.c
tst-sprintf2.c
tst-sprintf3.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-sscanf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-swprintf.c
tst-swscanf.c
tst-tmpnam.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
tst-unbputc.c
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
tstdiomisc.c
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
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