example: inspect SECCOMP_MODE_STRICT return value
diff --git a/example/convert-to-nia/convert-to-nia.c b/example/convert-to-nia/convert-to-nia.c index ef5abc7..c7eac6a 100644 --- a/example/convert-to-nia/convert-to-nia.c +++ b/example/convert-to-nia/convert-to-nia.c
@@ -1098,8 +1098,11 @@ // ---- #if defined(WUFFS_EXAMPLE_USE_SECCOMP) - prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT); - g_sandboxed = true; + g_sandboxed = prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT) >= 0; + if (!g_sandboxed) { + const char* msg = "SECCOMP_MODE_STRICT sandbox failed.\n"; + ignore_return_value(write(STDERR_FD, msg, strlen(msg))); + } #endif int exit_code = compute_exit_code(main1(argc, argv));
diff --git a/example/jsonptr/jsonptr.cc b/example/jsonptr/jsonptr.cc index 7f9dc09..e96381b 100644 --- a/example/jsonptr/jsonptr.cc +++ b/example/jsonptr/jsonptr.cc
@@ -1471,8 +1471,12 @@ } #if defined(WUFFS_EXAMPLE_USE_SECCOMP) - prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT); - g_sandboxed = true; + g_sandboxed = prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT) >= 0; + if (!g_sandboxed) { + const int stderr_fd = 2; + const char* msg = "SECCOMP_MODE_STRICT sandbox failed.\n"; + ignore_return_value(write(stderr_fd, msg, strlen(msg))); + } #endif const char* z = main1(argc, argv);
diff --git a/example/mzcat/mzcat.c b/example/mzcat/mzcat.c index c622da0..04195bc 100644 --- a/example/mzcat/mzcat.c +++ b/example/mzcat/mzcat.c
@@ -397,8 +397,12 @@ int // main(int argc, char** argv) { #if defined(WUFFS_EXAMPLE_USE_SECCOMP) - prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT); - g_sandboxed = true; + g_sandboxed = prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT) >= 0; + if (!g_sandboxed) { + const int stderr_fd = 2; + const char* msg = "SECCOMP_MODE_STRICT sandbox failed.\n"; + ignore_return_value(write(stderr_fd, msg, strlen(msg))); + } #endif int exit_code = compute_exit_code(main1(argc, argv));
diff --git a/example/zcat/zcat.c b/example/zcat/zcat.c index 8432f22..4323f9b 100644 --- a/example/zcat/zcat.c +++ b/example/zcat/zcat.c
@@ -260,8 +260,12 @@ int // main(int argc, char** argv) { #if defined(WUFFS_EXAMPLE_USE_SECCOMP) - prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT); - g_sandboxed = true; + g_sandboxed = prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT) >= 0; + if (!g_sandboxed) { + const int stderr_fd = 2; + const char* msg = "SECCOMP_MODE_STRICT sandbox failed.\n"; + ignore_return_value(write(stderr_fd, msg, strlen(msg))); + } #endif int exit_code = compute_exit_code(main1(argc, argv));