[PATCH] Use an alias to `ptsname_r' in login/tst-ptsname.c
Florian Weimer
fweimer@redhat.com
Wed May 24 17:42:00 GMT 2017
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
More information about the Libc-alpha
mailing list