This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Use an alias to `ptsname_r' in login/tst-ptsname.c


On 05/24/2017 06:18 PM, Joseph Myers wrote:
> On Wed, 24 May 2017, Arjun Shankar wrote:
> 
>> When compiled with `-O3', inlining causes GCC to realize that one of the
>> tests calls `ptsname_r' with a NULL buffer and error out when compiling
>> with -Wnonnull.
>>
>> Declare `ptsname_r_alias' and alias it to `ptsname_r' to avoid this.
> 
> Normally in such cases we'd use the DIAG_* macros from libc-diag.h, with 
> appropriate comments, to disable the specific warning for the code in 
> question.

I think passing NULL to a nonnull parameter is undefined, warning or
not.  The GCC documentation is pretty clear about that.  (I have some
doubts about the validity of the NULL comparison inside the
implementation of ptsname_r, too.)

Alternatively, we could withdraw the test as invalid, and update the
manual page.

Thanks,
Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]