about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/fexecve.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/fexecve.c')
-rw-r--r--sysdeps/unix/sysv/linux/fexecve.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/fexecve.c b/sysdeps/unix/sysv/linux/fexecve.c
index 3bf5de507f..40652494fa 100644
--- a/sysdeps/unix/sysv/linux/fexecve.c
+++ b/sysdeps/unix/sysv/linux/fexecve.c
@@ -39,7 +39,8 @@ fexecve (int fd, char *const argv[], char *const envp[])
     }
 
 #ifdef __NR_execveat
-  INLINE_SYSCALL (execveat, 5, fd, "", argv, envp, AT_EMPTY_PATH);
+  /* Avoid implicit array coercion in syscall macros.  */
+  INLINE_SYSCALL (execveat, 5, fd, "", &argv[0], &envp[0], AT_EMPTY_PATH);
 # ifndef __ASSUME_EXECVEAT
   if (errno != ENOSYS)
     return -1;