RE: [PATCH] generic/633: adapt execveat() invocations

From: David Laight
Date: Wed Feb 02 2022 - 03:36:39 EST


From: Christian Brauner
> Sent: 31 January 2022 17:10
>
> There's a push by Ariadne to enforce that argv[0] cannot be NULL. So far
> we've allowed this. Fix the execveat() invocations to set argv[0] to the
> name of the file we're about to execute.
>
...
> src/idmapped-mounts/idmapped-mounts.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/src/idmapped-mounts/idmapped-mounts.c b/src/idmapped-mounts/idmapped-mounts.c
> index 4cf6c3bb..76b559ae 100644
> --- a/src/idmapped-mounts/idmapped-mounts.c
> +++ b/src/idmapped-mounts/idmapped-mounts.c
> @@ -3598,7 +3598,7 @@ static int setid_binaries(void)
> NULL,
> };
> static char *argv[] = {
> - NULL,
> + "",
> };

Isn't that just plain wrong?
argv[] needs to be terminated by a NULL so you need to add the ""
before the NULL not replace the NULL by it.

Quite how this matches the patch description is another matter...

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)