Re: printf %s with NULL pointer (was Re: BUG #17098: Assert failed on composing an error message when adding a type to an extension being dropped)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Cc: Ranier Vilela <ranier.vf@gmail.com>,
Laurenz Albe <laurenz.albe@cybertec.at>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-07-14T16:41:24Z
Lists: pgsql-bugs, pgsql-hackers
I wrote: > Interesting question, so I took a look: > https://git.musl-libc.org/cgit/musl/tree/src/stdio/vfprintf.c#n593 > case 's': > a = arg.p ? arg.p : "(null)"; BTW, the adjacent code shows that musl is also supporting glibc's "%m" extension, so I imagine that they are endeavoring to be compatible with glibc, and this goes along with that. But that just supports my larger point: printing "(null)" is clearly the de facto standard now, whether or not POSIX has caught up with it. regards, tom lane
Commits
-
Make printf("%s", NULL) print "(null)" instead of crashing.
- c0a6f83deba9 13.4 landed
- 9329b923542f 11.13 landed
- 89ad14cd7870 14.0 landed
- 7e09b504d023 9.6.23 landed
- 5a435289d1a8 10.18 landed
- 4c8a14e8d993 12.8 landed
- 3779ac62d709 15.0 landed
-
Lock the extension during ALTER EXTENSION ADD/DROP.
- 92340ba5a795 12.8 landed
- 734be249d2c8 9.6.23 landed
- 6bd9ae173d37 11.13 landed
- 69dfc36fd54d 14.0 landed
- 626731db26ae 15.0 landed
- 1d49c888755b 10.18 landed
- 1c612bc98ec3 13.4 landed
-
Add an assertion that we don't pass NULL to snprintf("%s").
- 0c62356cc877 11.0 cited
-
Fix broken logic for reporting PL/Python function names in errcontext.
- e748e902def4 11.0 cited