libc/newlib/libc/stdio
Silviu Baranga efaef1bba2 Don't overread or write memory returned by _DTOA_R
Don't over-read memory returned by _DTOA_R, and never write to it
since the result might be a string literal.

For example, when doing:
  swprintf(tt, 20, L"%.*f", 6, 0.0);

we will get back "0".

Instead, write the result returned by _DTOA_R to the output buffer.
After this, write the 0 chars directly to the the output buffer
(if there are any). This also has the (marginal) advantage that
we read/write less memory overall.
2017-06-09 15:30:47 +02:00
..
Makefile.am Use enum __packed in favour of -fshort-enums 2017-04-03 10:26:33 +02:00
Makefile.in Use enum __packed in favour of -fshort-enums 2017-04-03 10:26:33 +02:00
asiprintf.c Throughout, run newlib with -Wall -Werror option and fix bugs and 2012-08-08 11:04:18 +00:00
asniprintf.c 2008-12-11 Craig Howland <howland@LGSInnovations.com> 2008-12-11 17:27:56 +00:00
asnprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
asprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
clearerr.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
clearerr_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
diprintf.c 2008-10-31 Jeff Johnston <jjohnstn@redhat.com> 2008-10-31 21:08:03 +00:00
dprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
fclose.c Add missing checks for __SNLK flag 2015-12-08 21:23:22 +01:00
fcloseall.c 2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com> 2004-04-23 20:01:55 +00:00
fdopen.c * libc/stdio/local.h (_newlib_flockfile_start): New macro to 2012-05-30 08:58:42 +00:00
feof.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
feof_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
ferror.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
ferror_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fflush.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fflush_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetc.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetpos.c 2013-11-18 Sahil Patnayakuni <sahilp@oarcorp.com> 2013-11-18 17:28:06 +00:00
fgets.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgets_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetwc.c Fix mismatched parentheses in documentation. 2015-06-24 12:23:25 +01:00
fgetwc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetws.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetws_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fileno.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fileno_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
findfp.c Unify names of all lock objects 2017-02-06 16:55:09 -05:00
fiprintf.c Add support for asnprintf, and improve *printf documentation. 2007-05-04 02:55:16 +00:00
fiscanf.c 2004-11-23 Jeff Johnston <jjohnstn@redhat.com> 2004-11-24 00:45:41 +00:00
flags.c * libc/stdio/flags.c (__sflags): Guard against using O_BINARY on systems which 2012-08-23 04:19:59 +00:00
floatio.h 2000-12-06 Jeff Johnston <jjohnstn@redhat.com> 2000-12-06 23:50:11 +00:00
fmemopen.c 2013-11-18 Sahil Patnayakuni <sahilp@oarcorp.com> 2013-11-18 17:28:06 +00:00
fopen.c 2013-11-18 Sahil Patnayakuni <sahilp@oarcorp.com> 2013-11-18 17:28:06 +00:00
fopencookie.c Feature test macros overhaul: stdio.h 2016-03-17 21:09:04 -05:00
fprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
fpurge.c * libc/stdio/local.h (_newlib_flockfile_start): New macro to 2012-05-30 08:58:42 +00:00
fputc.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputs.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputs_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputwc.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputwc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputws.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputws_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fread.c Fix an inconsistent use of '.' in FUNCTION 2015-06-23 20:56:15 +01:00
fread_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
freopen.c Add missing checks for __SNLK flag 2015-12-08 21:23:22 +01:00
fscanf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
fseek.c Add missing semicolons to prototypes. 2015-11-02 16:34:49 -05:00
fseeko.c 2013-04-10 Bin Cheng <bin.cheng@arm.com> 2013-04-10 18:47:46 +00:00
fsetlocking.c * libc/include/stdio.h (__SNLK): Define. 2014-12-15 18:22:56 +00:00
fsetpos.c 2008-10-31 Jeff Johnston <jjohnstn@redhat.com> 2008-10-31 21:08:03 +00:00
ftell.c * libc/include/sys/reent.h (__sFILE): Change type of _offset 2012-11-29 16:28:30 +00:00
ftello.c * libc/include/sys/reent.h (__sFILE): Change type of _offset 2012-11-29 16:28:30 +00:00
funopen.c * libc/include/stdio.h (funopen): Change prototype of 2013-10-23 10:04:43 +00:00
fvwrite.c * libc/stdio/fvwrite.c: Allow writing in larger chunks for fully 2013-11-04 14:18:44 +00:00
fvwrite.h * libc/stdio/fvwrite.h: change type of uio_resid from int to size_t to 2013-10-31 10:35:54 +00:00
fwalk.c * libc/stdio/fwalk.c (_fwalk_reent): Remove redundant test. 2014-09-05 09:31:32 +00:00
fwide.c Add missing semicolons to prototypes. 2015-11-02 16:34:49 -05:00
fwprintf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
fwrite.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fwrite_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fwscanf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
getc.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
getc_u.c 2008-10-31 Jeff Johnston <jjohnstn@redhat.com> 2008-10-31 21:08:03 +00:00
getchar.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
getchar_u.c Correct a non-ANSI prototype in SYNOPSIS 2015-06-23 17:30:17 +01:00
getdelim.c * libc/stdio/local.h (_newlib_flockfile_start): New macro to 2012-05-30 08:58:42 +00:00
getline.c 2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com> 2004-04-23 20:01:55 +00:00
gets.c Prevent use of uninitialized file lock 2015-07-02 09:38:06 +02:00
getw.c 2005-10-28 Bob Wilson <bob.wilson@acm.org> 2005-10-28 21:21:08 +00:00
getwc.c 2008-12-10 Corinna Vinschen <corinna@vinschen.de> 2008-12-10 23:43:12 +00:00
getwc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
getwchar.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
getwchar_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
iprintf.c Add support for asnprintf, and improve *printf documentation. 2007-05-04 02:55:16 +00:00
iscanf.c 2005-02-07 Antony King <antony.king@st.com> 2005-02-08 01:33:19 +00:00
local.h Use enum __packed in favour of -fshort-enums 2017-04-03 10:26:33 +02:00
makebuf.c 2016-12-15 Giuseppe Musumeci <giuseppe.musumeci@broadcom.com> 2016-12-15 12:12:31 -05:00
mktemp.c Throughout, run newlib with -Wall -Werror option and fix bugs and 2012-08-08 11:04:18 +00:00
nano-vfprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
nano-vfprintf_float.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
nano-vfprintf_i.c * libc/stdio/nano-vfprintf_i.c (_printf_i): Use LONGINT when void* is 2014-11-20 14:05:28 +00:00
nano-vfprintf_local.h 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
nano-vfscanf.c * newlib/libc/stdio/nano-vfscanf.c: Fix '%X' specifier procesing 2016-02-08 10:24:31 +01:00
nano-vfscanf_float.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
nano-vfscanf_i.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00: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 * libc/stdio/open_memstream.c (internal_open_memstream_r): Initialize 2014-02-20 13:32:34 +00:00
perror.c strerror: allow user hook to comply with POSIX rules 2011-05-25 18:41:10 +00:00
printf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
putc.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
putc_u.c 2008-10-31 Jeff Johnston <jjohnstn@redhat.com> 2008-10-31 21:08:03 +00:00
putchar.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
putchar_u.c 2008-10-31 Jeff Johnston <jjohnstn@redhat.com> 2008-10-31 21:08:03 +00:00
puts.c Prevent use of uninitialized file lock 2015-07-02 09:38:06 +02:00
putw.c 2005-10-28 Bob Wilson <bob.wilson@acm.org> 2005-10-28 21:21:08 +00:00
putwc.c 2008-12-10 Corinna Vinschen <corinna@vinschen.de> 2008-12-10 23:43:12 +00:00
putwc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
putwchar.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
putwchar_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
refill.c * libc/stdio/fclose.c: Only use sfp lock to guard non-atomic 2011-01-28 10:49:11 +00:00
remove.c 2008-10-31 Jeff Johnston <jjohnstn@redhat.com> 2008-10-31 21:08:03 +00:00
rename.c 2007-09-18 Jeff Johnston <jjohnstn@redhat.com> 2007-09-18 19:32:43 +00:00
rewind.c * libc/stdio/rewind.c (rewind): Fix regression of 2003-08-22. 2007-05-25 17:05:09 +00:00
rget.c 2008-03-11 Jeff Johnston <jjohnstn@redhat.com> 2008-03-11 19:13:30 +00:00
scanf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
sccl.c 2004-11-23 Jeff Johnston <jjohnstn@redhat.com> 2004-11-24 00:45:41 +00:00
setbuf.c 2013-11-18 Sahil Patnayakuni <sahilp@oarcorp.com> 2013-11-18 17:28:06 +00:00
setbuffer.c 2004-09-16 Antony King <antony.king@st.com> 2004-09-16 21:15:14 +00:00
setlinebuf.c 2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com> 2004-04-23 20:01:55 +00:00
setvbuf.c setvbuf: Drop setting reent->__cleanup 2016-03-13 12:03:03 +01:00
siprintf.c 2008-10-31 Jeff Johnston <jjohnstn@redhat.com> 2008-10-31 21:08:03 +00:00
siscanf.c * libc/include/wchar.h (fwscanf, swscanf, vfwscanf, vswscanf, vwscanf, 2009-03-11 11:53:22 +00:00
sniprintf.c 2008-04-14 Jeff Johnston <jjohnstn@redhat.com> 2008-04-14 21:14:55 +00:00
snprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
sprintf.c Simplify the markup for sprintf and swprintf documentation 2015-11-19 11:39:52 +00:00
sscanf.c Improve markup of sscanf and swscanf documentation 2015-11-19 11:39:49 +00:00
stdio.c * libc/include/stdio.h (funopen): Change prototype of 2013-10-23 10:04:43 +00:00
stdio.tex Fix makedoc markup used in texinfo source 2015-06-23 16:14:39 +01:00
stdio_ext.c * stdio.tex: Add menu entries for __fsetlocking and stdio_ext. 2014-12-18 10:08:09 +00:00
swprintf.c Simplify the markup for sprintf and swprintf documentation 2015-11-19 11:39:52 +00:00
swscanf.c Improve markup of sscanf and swscanf documentation 2015-11-19 11:39:49 +00:00
tmpfile.c * stdio/tmpfile.c: Include <sys/stat.h>. 2007-05-17 12:10:29 +00:00
tmpnam.c 2004-04-23 Artem B. Bityuckiy <abitytsky@softminecorp.com> 2004-04-23 20:01:55 +00:00
ungetc.c * libc/stdio/local.h (_newlib_flockfile_start): New macro to 2012-05-30 08:58:42 +00:00
ungetwc.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
vasiprintf.c Throughout, run newlib with -Wall -Werror option and fix bugs and 2012-08-08 11:04:18 +00:00
vasniprintf.c 2008-12-11 Craig Howland <howland@LGSInnovations.com> 2008-12-11 17:27:56 +00:00
vasnprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vasprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vdiprintf.c 2008-03-07 Jeff Johnston <jjohnstn@redhat.com> 2008-03-07 16:45:04 +00:00
vdprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vfieeefp.h Add __packed to struct ldieee 2017-04-18 12:25:35 +02:00
vfprintf.c Print sign of NaN values. 2017-06-07 11:50:31 +02:00
vfscanf.c Consolidate wctomb/mbtowc calls for POSIX-1.2008 2016-08-15 10:56:57 +02:00
vfwprintf.c Don't overread or write memory returned by _DTOA_R 2017-06-09 15:30:47 +02:00
vfwscanf.c Fix a potential buffer overflow in wscanf family 2016-10-22 21:43:28 +02:00
viprintf.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
viscanf.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
vprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vscanf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vsiprintf.c 2011-08-19 Ralf Corsépius <ralf.corsepius@rtems.org> 2011-08-19 17:00:32 +00:00
vsiscanf.c * libc/include/wchar.h (fwscanf, swscanf, vfwscanf, vswscanf, vwscanf, 2009-03-11 11:53:22 +00:00
vsniprintf.c 2011-08-19 Ralf Corsépius <ralf.corsepius@rtems.org> 2011-08-19 17:00:32 +00:00
vsnprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vsprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vsscanf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vswprintf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
vswscanf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
vwprintf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
vwscanf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
wbuf.c printf: set errno for read-only stream 2011-06-14 03:56:05 +00:00
wprintf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
wscanf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
wsetup.c printf: set errno for read-only stream 2011-06-14 03:56:05 +00:00