summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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];