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)
Ranier Vilela <ranier.vf@gmail.com>
From: Ranier Vilela <ranier.vf@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Laurenz Albe <laurenz.albe@cybertec.at>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-07-13T18:38:02Z
Lists: pgsql-bugs, pgsql-hackers
Em ter., 13 de jul. de 2021 às 15:26, Tom Lane <tgl@sss.pgh.pa.us> escreveu: > Ranier Vilela <ranier.vf@gmail.com> writes: > > Em ter., 13 de jul. de 2021 às 11:29, Tom Lane <tgl@sss.pgh.pa.us> > escreveu: > >> I think you're missing my main point, which is that it seems certain > that > >> there are corner cases that do this *now*. I'm proposing that we > redefine > >> this as not being a crash case, full stop. > > > I agree with Laurenz Albe, that on Debug builds, *printf with NULL, must > > crash. > > Did you see my followup? I am trying. > The vast majority of live systems do not do > that, so we are accomplishing nothing of value by insisting it's a > crash-worthy bug. > I agreed. > I flat out don't agree that "crash on debug builds but it's okay on > production" is a useful way to define this. I spend way too much > time already on bug reports that only manifest with asserts enabled. > I understand. Bug reports will decrease, because of that, people will lose interest and motivation to report, because (null), it doesn't seem like a serious error and my server didn't crash. It's a tricky tradeoff. regards, Ranier Vilela
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