plan9fox/sys/src/libstdio
cinap_lenrek 6d42467411 stdio: fix sclose() buffer overrun when terminating string, realloc() error handling (thanks porlock)
theres a bug is in sclose() where it doesnt check if wp is beyond
the buffer. also wp was not updated after realloc().

bug was reported by porlock on 9fans:

Plan 9's implementation of the standard C functions snprintf and
vsnprintf have a buffer overrun bug.

If the buffer length equals the output length (without the terminating
null), then one too many characters is written to the buffer.

For example,
              snprintf(buf, 4, "ABCD");

will write 5 characters to buf.
2016-11-27 21:20:27 +01:00
..
_IO_getc.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
_IO_putc.c stdio: fix sclose() buffer overrun when terminating string, realloc() error handling (thanks porlock) 2016-11-27 21:20:27 +01:00
clearerr.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
dtoa.c /sys/src/lib*: clean up 2016-11-17 22:58:16 +01:00
fclose.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fdopen.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
feof.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
ferror.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fflush.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fgetc.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fgetpos.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fgets.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fileno.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fopen.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fprintf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fputc.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fputs.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fread.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
freopen.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fscanf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fseek.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fseeko.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fsetpos.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
ftell.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
ftello.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
fwrite.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
getc.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
gets.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
iolib.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
mkfile Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
printf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
putc.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
puts.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
rewind.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
scanf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
sclose.c stdio: fix sclose() buffer overrun when terminating string, realloc() error handling (thanks porlock) 2016-11-27 21:20:27 +01:00
setbuf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
setvbuf.c /sys/src/lib*: clean up 2016-11-17 22:58:16 +01:00
snprintf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
sopenr.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
sopenw.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
sprintf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
sscanf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
Stdio.h Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
tmpfile.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
tmpnam.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
ungetc.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
vfprintf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
vfscanf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
vprintf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
vsnprintf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
vsprintf.c Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00