Re: Can argv be NULL in C?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/10/2016 10:14, Yao Qi wrote:

> On Fri, Oct 7, 2016 at 6:27 PM, Martin Sebor <msebor@xxxxxxxxx> wrote:
>
>> Right.  In a hosted environment argv must not be null.  It's
>> up to the implementation to guarantee that for all conforming
>> programs.  If a program is non-conforming (e.g., it calls exceve
>> or its equivalent to start a program with a null argv) it's still
>> up to the implementation to decide what to do with it (it could
>> simply punt and pass the null through or it could substitute
>> an array of pointers for it with the first one set to null).
> 
> Thanks for your answer, Martin.  Looks like the argv can be NULL
> in reality.

Sounds like saying "strlen's argument can be NULL in reality".
(Which is true, as nothing stops one from writing strlen(NULL)
in their code.)

Passing NULL to strlen has undefined behavior, thus (most)
libc implementations won't check for NULL.

Regards.




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux