Re: [BUG] NULL pointer dereference
Collin Funk <[email protected]> Mon, 08 Sep 2025 11:14:34 -0700
| Newsgroups | gmane.comp.parsers.bison.bugs |
|---|---|
| Message-ID | <[email protected]> |
Florian Weimer <[email protected]> writes: > * Paul Eggert: > >> On 2025-09-05 20:14, Collin Funk wrote: >>> This patch works fine, with some formatting adjustments. >>> But maybe it is just better to use fprintf, which can handle NULL >>> pointers. >> >> fprintf can handle null pointers? > > The glibc implementation does. It's not portable. Hi Florian, we moved this discussion to bug-gnulib since I thought Gnulib let us do it portably. However, Bruno mentioned he did not add this check because GCC will optimize it to fputs and still crash. He wrote: > Using the modified test program: > > #include <stdio.h> > int > main (void) > { > fprintf (stdout, "%s", NULL); > fprintf (stdout, "\n"); > return 0; > } > > On GNU/Linux: > > $ gcc foo.c > $ ./a.out > Segmentation fault (core dumped) > $ nm a.out | grep ' U ' > U fputc@GLIBC_2.2.5 > U fputs@GLIBC_2.2.5 > U __libc_start_main@GLIBC_2.34 > > So, due to GCC optimizations, using NULL as argument for %s is unreliable > even on systems with glibc. Collin