diff options
Diffstat (limited to 'test/sendmsg_fs_cve.c')
-rw-r--r-- | test/sendmsg_fs_cve.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/test/sendmsg_fs_cve.c b/test/sendmsg_fs_cve.c index 8de220a..2ce3114 100644 --- a/test/sendmsg_fs_cve.c +++ b/test/sendmsg_fs_cve.c @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: MIT */ /* * repro-CVE-2020-29373 -- Reproducer for CVE-2020-29373. * @@ -20,6 +21,7 @@ #include <unistd.h> #include <stdio.h> +#include <string.h> #include <sys/mman.h> #include <sys/socket.h> #include <sys/un.h> @@ -154,7 +156,13 @@ int main(int argc, char *argv[]) if (!c) { close(rcv_sock); - if (chroot(tmpdir)) { + r = chroot(tmpdir); + if (r) { + if (errno == EPERM) { + fprintf(stderr, "chroot not allowed, skip\n"); + return 0; + } + perror("chroot()"); return 1; } |