]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Fix _AC_LANG_IO_PROGRAM(C) to work with glibc 2.38 headers
authorGleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Tue, 15 Aug 2023 16:00:00 +0000 (16:00 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 15 Aug 2023 18:36:39 +0000 (11:36 -0700)
Following the glibc commit glibc-2.38~268 ("libio: Add __nonnull
for FILE * arguments of fclose and freopen"), the utilization of the gcc
-fanalyzer flag in combination with the -Werror flag leads to an error
within the _AC_LANG_IO_PROGRAM(C) function:

conftest.c:14:23: error: use of possibly-NULL 'f' where non-null expected [CWE-690] [-Werror=analyzer-possible-null-argument]

* lib/autoconf/c.m4 (_AC_LANG_IO_PROGRAM): Exit upon encountering
fopen() error.

See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109570 and
https://gcc.gnu.org/g:c9a19621a07e246385ae075b61283140b23c3b5a .

Tiny-change: yes

lib/autoconf/c.m4

index b8350c3398d8e60eef6df46687cd05c472370c7a..77ff1af8e3d146ec9efe258fefe9a2b262bcca5e 100644 (file)
@@ -114,6 +114,8 @@ $2
 m4_define([_AC_LANG_IO_PROGRAM(C)],
 [AC_LANG_PROGRAM([@%:@include <stdio.h>],
 [FILE *f = fopen ("conftest.out", "w");
+ if (!f)
+  return 1;
  return ferror (f) || fclose (f) != 0;
 ])])