glibc/stdio-common
Florian Weimer 95e8397481 vfscanf: Use struct scratch_buffer instead of extend_alloca
A custom character buffer is added in this commit, in the form of
struct char_buffer.  The char_buffer_add function replaces the
ADDW macro (which has grown with each successive security fix).
The char_buffer_add slow path is moved out-of-line, reducing
code size.

	* stdio-common/vfscanf.c (MEMCPY): Remove macro.
	(struct char_buffer): New type.
	(char_buffer_start, char_buffer_size, char_buffer_error)
	(char_buffer_rewind, char_buffer_add): New functions.
	(ADDW): Remove macro, replaced by the char_buffer_add function.
	(_IO_vfscanf_internal): Rewrite using struct char_buffer instead
	of extend_alloca.  Make control flow more explicit.
2015-10-15 17:18:51 +02:00
..
bits Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
_i18n_number.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
_itoa.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
_itowa.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
_itowa.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
asprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
bug1.c
bug1.input
bug2.c
bug3.c
bug4.c
bug5.c
bug6.c
bug6.input
bug7.c
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 Add macros for diagnostic control, use for scanf %a tests. 2014-12-10 00:41:19 +00:00
bug22.c
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
bug24.c
bug25.c
bug26.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
bug-vfprintf-nargs.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ctermid.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
cuserid.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Depend
dprintf.c Fix syslog dprintf namespace (bug 18534). 2015-06-17 20:10:50 +00:00
errlist.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
errnobug.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
flockfile.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ftrylockfile.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
funlockfile.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fxprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getline.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getw.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_fscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_scanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_sscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_vfscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_vscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
isoc99_vsscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
itoa-digits.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
itoa-udigits.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
itowa-digits.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Makefile Add dependencies on needed locales in each subdir tests (bug 18969) 2015-10-12 15:18:08 +02:00
perror.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf_fp.c Cleanup a few cases where isinf is used to get the signbit to improve the readability and maintainability and allow inlining. 2015-09-18 21:19:48 +01:00
printf_fphex.c Cleanup a few cases where isinf is used to get the signbit to improve the readability and maintainability and allow inlining. 2015-09-18 21:19:48 +01:00
printf_size.c Cleanup a few cases where isinf is used to get the signbit to improve the readability and maintainability and allow inlining. 2015-09-18 21:19:48 +01:00
printf-parse.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf-parsemb.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf-parsewc.c
printf-prs.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
psiginfo-data.h
psiginfo-define.h
psiginfo.c libio: fmemopen rewrite to POSIX compliance 2015-07-08 12:07:21 -03:00
psignal.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
putw.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
reg-modifier.c Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912). 2015-09-08 21:11:03 +00:00
reg-printf.c Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912). 2015-09-08 21:11:03 +00:00
reg-type.c Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912). 2015-09-08 21:11:03 +00:00
remove.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
rename.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
renameat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
scanf1.c
scanf2.c
scanf3.c
scanf4.c Eliminate -Wno-format from printf/scanf tests. 2014-12-11 13:47:44 -08:00
scanf5.c
scanf7.c Eliminate -Wno-format from printf/scanf tests. 2014-12-11 13:47:44 -08:00
scanf8.c
scanf9.c
scanf10.c
scanf11.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
scanf12.c
scanf12.input
scanf13.c
scanf14.c Add macros for diagnostic control, use for scanf %a tests. 2014-12-10 00:41:19 +00:00
scanf15.c Don't include <bits/stdio-lock.h> from installed <libio.h>. 2015-09-03 20:24:54 +00:00
scanf16.c
scanf17.c Don't include <bits/stdio-lock.h> from installed <libio.h>. 2015-09-03 20:24:54 +00:00
scanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
siglist.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
snprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stdio_ext.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stdio_lim.h.in Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tempnam.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tempname.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
temptest.c
test_rdwr.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
test-fseek.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +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. 2015-01-02 16:29:47 +00:00
test-vfprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tfformat.c
tiformat.c
tllformat.c
tmpfile64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tmpfile.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tmpnam_r.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tmpnam.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-cookie.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-fdopen.c
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
tst-fileno.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-fmemopen2.c libio: Fix fmemopen 'w' mode with provided buffer 2015-07-16 15:21:49 -03:00
tst-fmemopen3.c libio: fmemopen rewrite to POSIX compliance 2015-07-08 12:07:21 -03:00
tst-fmemopen.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-fphex-wide.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-fphex.c
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-fwrite.c
tst-gets.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-gets.input
tst-grouping.c
tst-long-dbl-fphex.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +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
tst-popen.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-printf-bz18872.sh stdio-common/tst-printf-bz18872.sh: Use attribute optimize instead of 2015-10-07 23:17:33 -07:00
tst-printf-round.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-printf.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
tst-printf.sh Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-printfsz.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
tst-put-error.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-rndseek.c
tst-setvbuf1.c
tst-setvbuf1.expect
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. 2015-01-02 16:29:47 +00:00
tst-sprintf.c stdio-common: Include <libc-internal.h> in some tests 2014-12-15 11:29:09 -06:00
tst-sscanf.c Modify several tests to use test-skeleton.c 2015-07-15 15:10:23 +05:30
tst-swprintf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-swscanf.c
tst-tmpnam.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-unbputc.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-unbputc.sh fix non-portable echo -n usage 2015-08-09 04:19:12 -04:00
tst-ungetc.c
tst-unlockedio.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-wc-printf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tstdiomisc.c Eliminate -Wno-format from printf/scanf tests. 2014-12-11 13:47:44 -08:00
tstgetln.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tstgetln.input
tstscanf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tstscanf.input
Versions
vfprintf.c Fix BZ #18872 -- memory leak in printf_positional. 2015-09-16 09:16:11 -07:00
vfscanf.c vfscanf: Use struct scratch_buffer instead of extend_alloca 2015-10-15 17:18:51 +02:00
vfwprintf.c
vfwscanf.c
vprintf.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
xbug.c