diff options
author | Yann Sionneau <ysionneau@kalrayinc.com> | 2023-06-14 17:34:40 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2023-06-15 08:54:24 +0200 |
commit | 36e4ccc0a89589a60df6adeee2ea6bf8c64c967e (patch) | |
tree | 8adb9c13cf2f339d96f6e8ab5d334cb2d009c799 | |
parent | cc5dbb576af26e164e615cc4998193ff52f55aa8 (diff) |
Fix exec-null test for newer kernels
Without this patch, since https://github.com/torvalds/linux/commit/dcd46d897adb70d63e025f175a00a89797d31a43
this test runs in infinite loop.
Signed-off-by: Yann Sionneau <ysionneau@kalrayinc.com>
-rw-r--r-- | test/unistd/exec-null.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/test/unistd/exec-null.c b/test/unistd/exec-null.c index 3df99f3..0f79b3d 100644 --- a/test/unistd/exec-null.c +++ b/test/unistd/exec-null.c @@ -4,7 +4,12 @@ int main(int argc, char *argv[]) { - if (argc == 0) + /* since Linux https://github.com/torvalds/linux/commit/dcd46d897adb70d63e025f175a00a89797d31a43 + * kernel forces an empty first arg if execve is called + * with argv == NULL. + * so we need to handle argc == 1 for newer kernel as well + */ + if (argc == 0 || argc == 1) return 0; char *exec_argv[1], *exec_envp[1]; |