diff options
author | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-04-27 19:01:17 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2022-04-27 19:01:17 +0000 |
commit | 19dce61545d1789da4c008229f991356dfb05b50 (patch) | |
tree | 602ac1fa715dde0d3d9d1b3bb4fcf52b9660b1ac | |
parent | 6c73a7ac6fad62ccf3bc7d6d7cb4be37e68be23c (diff) | |
parent | 1fee8b5a6765dd1abf024aa3924e8715d8a2fda7 (diff) | |
download | bionic-19dce61545d1789da4c008229f991356dfb05b50.tar.gz |
Merge "Merge "Merge "Merge "Fix unistd.exec_argv0_null for new kernels." into android10-tests-dev am: 16457fd9d0" into android11-tests-dev am: ede618aef2" into android12-tests-dev am: ba0f5b9195" into android12L-tests-dev
-rw-r--r-- | tests/unistd_test.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/tests/unistd_test.cpp b/tests/unistd_test.cpp index 7d1e6128b..19f58e3f9 100644 --- a/tests/unistd_test.cpp +++ b/tests/unistd_test.cpp @@ -1515,11 +1515,21 @@ TEST(UNISTD_TEST, execvp_libcore_test_55017) { } TEST(UNISTD_TEST, exec_argv0_null) { - // http://b/33276926 + // http://b/33276926 and http://b/227498625. + // + // With old kernels, bionic will see the null pointer and use "<unknown>" but + // with new (5.18+) kernels, the kernel will already have substituted the + // empty string, so we don't make any assertion here about what (if anything) + // comes before the first ':'. + // + // If this ever causes trouble, we could change bionic to replace _either_ the + // null pointer or the empty string. We could also use the actual name from + // readlink() on /proc/self/exe if we ever had reason to disallow programs + // from trying to hide like this. char* args[] = {nullptr}; char* envs[] = {nullptr}; ASSERT_EXIT(execve("/system/bin/run-as", args, envs), testing::ExitedWithCode(1), - "<unknown>: usage: run-as"); + ": usage: run-as"); } TEST(UNISTD_TEST, fexecve_failure) { |