summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann Sionneau <ysionneau@kalrayinc.com>2023-06-14 17:34:40 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2023-06-15 08:54:24 +0200
commit36e4ccc0a89589a60df6adeee2ea6bf8c64c967e (patch)
tree8adb9c13cf2f339d96f6e8ab5d334cb2d009c799
parentcc5dbb576af26e164e615cc4998193ff52f55aa8 (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.c7
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];