Re: [LTP] [PATCH v1] execl(), execlp() and execle() require proper termination of argument list

David Hildenbrand
2022-11-28T09:46:03Z

On 25.11.22 15:06, Petr Vorel wrote:
> Hi David,
>
> thanks for fixing this!
>
> Reviewed-by: Petr Vorel <pvorel@suse.cz>

This seems to be quite a controversial topic :)

I stumbled over [1], which still left me confused regarding what to do
and what to not do.

Interestingly, the problem doesn't seem to be that NULL is defined in a
strange way, but that the representation of (void *)NULL and (char
*)NULL might be (weirdly enough) different, and that no explicit cast
could result in undefined behavior.

IIUC, the second answer indicates that with C99 it might be fine,
because that case is defined behavior ("one type is pointer to void and
the other is a pointer to a character type.").

Having that said, I have cannot really tell if this change must be
performed. :)

[1]
https://stackoverflow.com/questions/52195275/can-the-compiler-cast-void-0-in-execlprog-arg-void-0-to-a-null-po

--
Thanks,

David / dhildenb