opnsense-src/lib/libc/stdio
Ed Maste 4fbd6e0e3c libc: fix access mode tests in fmemopen(3)
Previously a stream opened as read-only could be written to.  Add a test
case for the fix.

Also correct another incorrect access mode check that worked by
accident, and improve the tests for that.

PR:		281953
Reported by:	Erkki Moorits, fuz
Reviewed by:	fuz, khng (earlier)
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47265

(cherry picked from commit 0953460ce149e6f384aafbcb1e6213dfbf8f6a16)
(cherry picked from commit 6b9f7133aba44189d9625c352bc2c2a59baf18ef)
2024-10-29 15:11:38 -04:00
..
_flock_stub.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
asprintf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
clrerr.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
dprintf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fclose.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fclose.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fcloseall.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fdopen.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
feof.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
ferror.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
ferror.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fflush.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fflush.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fgetc.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fgetln.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fgetln.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fgetpos.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fgets.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fgets.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fgetwc.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fgetwln.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fgetwln.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fgetws.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fgetws.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fileno.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
findfp.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
flags.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
floatio.h Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:23 -06:00
flockfile.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fmemopen.c libc: fix access mode tests in fmemopen(3) 2024-10-29 15:11:38 -04:00
fopen.3 libc: Fix fmemopen(3) prototype in fopen(3) man page. 2023-09-07 20:28:31 +00:00
fopen.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fopencookie.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fopencookie.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fprintf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fpurge.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fputc.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fputs.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fputs.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fputwc.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fputws.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fputws.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fread.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fread.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
freopen.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fscanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fseek.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fseek.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fsetpos.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
ftell.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
funopen.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
funopen.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fvwrite.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fvwrite.h Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:23 -06:00
fwalk.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fwide.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fwide.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fwprintf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fwrite.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fwscanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getc.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getc.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getchar.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getdelim.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getline.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getline.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
gets.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
gets_s.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getw.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getwc.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getwc.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getwchar.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
glue.h Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:23 -06:00
local.h printf(): Save errno earlier. 2024-10-06 09:12:49 +00:00
makebuf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
Makefile.inc Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
mktemp.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mktemp.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
open_memstream.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
open_memstream.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
open_wmemstream.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
perror.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
printf-pos.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
printf.3 libc: Implement N2680. 2023-09-07 20:28:31 +00:00
printf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
printf_l.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
printfcommon.h libc: Implement N2630. 2023-09-07 20:28:30 +00:00
printflocal.h libc: Implement N2680. 2023-09-07 20:28:31 +00:00
putc.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
putc.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
putchar.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
puts.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
putw.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
putwc.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
putwc.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
putwchar.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
refill.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
remove.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
remove.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
rewind.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
rget.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
scanf.3 libc: Implement N2680. 2023-09-07 20:28:31 +00:00
scanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
scanf_l.3 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
setbuf.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setbuf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
setbuffer.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
setvbuf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
snprintf.c printf(): Save errno earlier. 2024-10-06 09:12:49 +00:00
sprintf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sscanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
stdio.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
stdio.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
swprintf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
swscanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
Symbol.map libc: Remove empty comments in Symbol.map 2023-12-13 22:08:13 +00:00
tempnam.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
tmpfile.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
tmpnam.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
tmpnam.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
ungetc.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
ungetc.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
ungetwc.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
ungetwc.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
vasprintf.c printf(): Save errno earlier. 2024-10-06 09:12:49 +00:00
vdprintf.c printf(): Save errno earlier. 2024-10-06 09:12:49 +00:00
vfprintf.c printf(): Save errno earlier. 2024-10-06 09:12:49 +00:00
vfscanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
vfwprintf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
vfwscanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
vprintf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
vscanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
vsnprintf.c printf(): Save errno earlier. 2024-10-06 09:12:49 +00:00
vsprintf.c printf(): Save errno earlier. 2024-10-06 09:12:49 +00:00
vsscanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
vswprintf.c libc: remove some obsolete VCS data 2023-12-13 23:08:50 +00:00
vswscanf.c libc: remove some obsolete VCS data 2023-12-13 23:08:50 +00:00
vwprintf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
vwscanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wbuf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wprintf.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
wprintf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wscanf.3 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
wscanf.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wsetup.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
xprintf.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
xprintf_errno.c libc printf_render_errno(): do not use strerror() 2024-04-30 03:48:10 +03:00
xprintf_float.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
xprintf_hexdump.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
xprintf_int.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
xprintf_quote.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
xprintf_str.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
xprintf_time.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
xprintf_vis.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00