newlib-cygwin/newlib/libc/stdio
Lucio Andrés Illanes Albornoz 3564641506 Fix vfwscanf(3) assignment suppression flag handling bug
newlib's vfwscanf(3) (or specifically, __SVFWSCANF_R()) fails to correctly set
the assignment-suppressing character (`*') flag[1] which, when present in the
formatting string, results in undefined behaviour comprising retrieving and
dereferencing a pointer that was not supplied by the caller as such or at all.
When compared to the vfscanf(3) implementation, this would appear to be over
the missing goto match_failure statement preceded by the flags test seen below.
Hence, this patch (re)introduces it.

[1] <http://pubs.opengroup.org/onlinepubs/009695399/functions/fwscanf.html>

--
2020-10-14 10:53:53 -04:00
..
Makefile.am stdio: Fix make rule override 2017-07-28 15:05:54 +02:00
Makefile.in makedoc: make errors visible 2017-12-07 11:54:11 +00:00
asiprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
asniprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
asnprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
asprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
clearerr.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
clearerr_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
diprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
dprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
fclose.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fcloseall.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fdopen.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
feof.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
feof_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
ferror.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
ferror_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fflush.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fflush_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetc.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fgetc_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fgetpos.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fgets.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fgets_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetwc.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fgetwc_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fgetws.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fgetws_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fileno.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fileno_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
findfp.c Add global stdio streams support for reent small. 2018-03-01 18:05:31 -05:00
fiprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fiscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
flags.c stdio: drop unused O_TEXT handling on non-Cygwin 2019-02-22 21:58:51 +01:00
floatio.h 2000-12-06 Jeff Johnston <jjohnstn@redhat.com> 2000-12-06 23:50:11 +00:00
fmemopen.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fopen.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fopencookie.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
fpurge.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fputc.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fputc_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fputs.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fputs_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputwc.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fputwc_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fputws.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fputws_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fread.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fread_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
freopen.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
fseek.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fseeko.c ansification: remove _EXFNPTR, _EXPARM 2018-01-17 11:47:27 -06:00
fsetlocking.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fsetpos.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
ftell.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
ftello.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
funopen.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fvwrite.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fvwrite.h ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
fwalk.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fwide.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fwprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fwrite.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
fwrite_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fwscanf.c ansification: remove _CONST 2018-01-17 11:47:08 -06:00
getc.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
getc_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
getchar.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
getchar_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
getdelim.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
getline.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
gets.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
getw.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
getwc.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
getwc_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
getwchar.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
getwchar_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
iprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
iscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
local.h Add global stdio streams support for reent small. 2018-03-01 18:05:31 -05:00
makebuf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
mktemp.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
nano-vfprintf.c Fix vprintf and vfscanf for GCC PR 14577 2018-02-01 13:28:28 +01:00
nano-vfprintf_float.c nano-vfprintf_float.c: Fix check if negative for nans. 2018-12-13 13:15:32 +01:00
nano-vfprintf_i.c ansification: remove _CONST 2018-01-17 11:47:08 -06:00
nano-vfprintf_local.h ansification: remove _PTR 2018-01-17 11:47:16 -06:00
nano-vfscanf.c Fix vprintf and vfscanf for GCC PR 14577 2018-02-01 13:28:28 +01:00
nano-vfscanf_float.c Use nanf("") instead of nanf(NULL) 2018-08-29 15:57:27 +02:00
nano-vfscanf_i.c ansification: remove _PARAMS 2018-01-17 11:47:13 -06:00
nano-vfscanf_local.h 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
open_memstream.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
perror.c Fix newlib functions perror()/psignal() not to use writev(). 2018-07-05 15:33:49 -04:00
printf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
putc.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
putc_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
putchar.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
putchar_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
puts.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
putw.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
putwc.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
putwc_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
putwchar.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
putwchar_u.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
refill.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
remove.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
rename.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
rewind.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
rget.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
scanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
sccl.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
setbuf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
setbuffer.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
setlinebuf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
setvbuf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
siprintf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
siscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
sniprintf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
snprintf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
sprintf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
sscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
stdio.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
stdio.tex Fix makedoc markup used in texinfo source 2015-06-23 16:14:39 +01:00
stdio_ext.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
swprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
swscanf.c ansification: remove _CONST 2018-01-17 11:47:08 -06:00
tmpfile.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
tmpnam.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
ungetc.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
ungetwc.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
vasiprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
vasniprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
vasnprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
vasprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
vdiprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
vdprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
vfieeefp.h Add __packed to struct ldieee 2017-04-18 12:25:35 +02:00
vfprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
vfscanf.c Use nanf("") instead of nanf(NULL) 2018-08-29 15:57:27 +02:00
vfwprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
vfwscanf.c Fix vfwscanf(3) assignment suppression flag handling bug 2020-10-14 10:53:53 -04:00
viprintf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
viscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
vprintf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
vscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
vsiprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
vsiscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
vsniprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
vsnprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
vsprintf.c ansification: remove _EXFUN, _EXFUN_NOTHROW 2018-01-17 11:47:29 -06:00
vsscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
vswprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
vswscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
vwprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
vwscanf.c ansification: remove _HAVE_STDC 2018-01-17 11:47:30 -06:00
wbuf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wprintf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
wscanf.c ansification: remove _CONST 2018-01-17 11:47:08 -06:00
wsetup.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00