ftmemsim-valgrind/memcheck/tests/linux/sys-execveat.stderr.exp
Mark Wielaard 8eb547054a Warn for execve syscall with argv or argv[0] being NULL.
For execve valgrind would silently fail when argv was NULL or
unadressable. Make sure that this produces a warning under memcheck.

The linux kernel accepts argv[0] being NULL, but most other kernels
don't since posix says it should be non-NULL and it causes argc to
be zero which is unexpected and might cause security issues.

This adjusts some testcases so they don't rely on execve succeeding
when argv is NULL and expect warnings about argv or argv[0] being
NULL or unaddressable.

https://bugs.kde.org/show_bug.cgi?id=450437
2022-04-06 22:48:45 +02:00

32 lines
1.2 KiB
Plaintext

Syscall param execveat(flags) contains uninitialised byte(s)
...
by 0x........: sys_execveat (sys-execveat.c:16)
by 0x........: main (sys-execveat.c:48)
Syscall param execveat(filename) points to unaddressable byte(s)
...
by 0x........: sys_execveat (sys-execveat.c:16)
by 0x........: main (sys-execveat.c:50)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
Syscall param execveat(argv) points to uninitialised byte(s)
...
by 0x........: sys_execveat (sys-execveat.c:16)
by 0x........: main (sys-execveat.c:51)
Address 0x........ is 0 bytes inside a block of size 16 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (sys-execveat.c:41)
Syscall param execveat(argv[0]) points to unaddressable byte(s)
...
by 0x........: sys_execveat (sys-execveat.c:16)
by 0x........: main (sys-execveat.c:51)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
Syscall param execveat(argv) points to unaddressable byte(s)
...
by 0x........: sys_execveat (sys-execveat.c:16)
by 0x........: main (sys-execveat.c:52)
Address 0x........ is not stack'd, malloc'd or (recently) free'd