Re: BUG #19491: Segmentation fault triggered by IS NULL
Álvaro Herrera <alvherre@kurilemu.de>
From: Álvaro Herrera <alvherre@kurilemu.de>
To: Srinath Reddy Sadipiralla <srinath2133@gmail.com>
Cc: Ayush Tiwari <ayushtiwari.slg01@gmail.com>, 798604270@qq.com, pgsql-bugs@lists.postgresql.org
Date: 2026-06-11T14:27:17Z
Lists: pgsql-bugs
On 2026-Jun-06, Srinath Reddy Sadipiralla wrote: > On Fri, Jun 5, 2026 at 9:41 PM Ayush Tiwari <ayushtiwari.slg01@gmail.com> > wrote: > > Thanks, that reads better. v2 attached, raising ERRCODE_CANNOT_COERCE > > right where the coercion fails: > > > > ERROR: cannot cast type sqljson_mystr to text > > > > which also covers the JSON() WITH UNIQUE KEYS path. > > Thanks for the updated patch, LGTM. Thank you, I have pushed this to all branches since 16. I also added an Assert() to makeJsonIsPredicate() that 'expr' is not null. This wouldn't have caught this problem, mind, because what was really missing is an example case where the problem appears. However, it seems good manners to disallow that case explicitly rather than have it return a Expr node with a embedded null pointer that's only going to cause indirect problems. BTW the subject of this thread is somehow comically bogus. The problem is IS JSON causing a NULL pointer dereference, not IS NULL. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/
Commits
-
IS JSON/JSON(): Protect against expressions uncoercible to text
- d0acd2535b4a 17 (unreleased) landed
- 7dd15325952f 19 (unreleased) landed
- 60abb3c73175 16 (unreleased) landed
- 35d9a6263407 18 (unreleased) landed
-
Reject degenerate SPLIT PARTITION with DEFAULT partition
- d8af73010033 19 (unreleased) cited