On Thu, 2023-03-30 at 10:05 +0200, Jakub Jelinek wrote:
> Hi!
> 
> The gcc.dg/analyzer/pipe-glibc.c test FAILs when using recent glibc
> headers
> and succeeds with older headers.
> The important change is that
> https://sourceware.org/git/?p=glibc.git;a=commit;h=c1760eaf3b575ad174fd88b252fd16bd525fa818
> in 2021 added __attribute__ ((__malloc__ (fclose, 1))) attribute to
> fdopen,
> so in write_to_pipe there is an excess warning:
> .../gcc/testsuite/gcc.dg/analyzer/pipe-glibc.c: In function
> 'write_to_pipe':
> .../gcc/testsuite/gcc.dg/analyzer/pipe-glibc.c:28:3: warning: use of
> possibly-NULL 'stream' where non-null expected [CWE-690] [-Wanalyzer-
> possible-null-argument]
> .../gcc/testsuite/gcc.dg/analyzer/pipe-glibc.c:27:12: note: (1) this
> call could return NULL
> .../gcc/testsuite/gcc.dg/analyzer/pipe-glibc.c:28:3: note: (2)
> argument 4 ('stream') from (1) could be NULL where non-null expected
> <built-in>: note: argument 4 of '__builtin_fwrite' must be non-null
> Strangely, nothing is reported on the read_from_pipe function, seems
> fwrite/fprintf/fputc etc. are builtins in GCC and we mark the FILE *
> arguments as nonnull there on the builtin declarations, while
> fgetc/fread
> etc. aren't builtins and glibc doesn't mark any of those using
> nonnull.
> Shall we change that on the glibc side?
> 
> Anyway, because this differs based on glibc version and I think the
> above warning is not the primary intention of the test, I think it is
> best to tweak it so that this warning isn't reported.

[...snip...]

Thanks: the patch LGTM.

Dave



Reply via email to