Repository navigation
Commit 8ee0c94
authored
Fix ? operator crash on an agtype null left operand (#2589)
For a scalar left operand, agtype_exists_agtype() passes the result of
extract_entity_properties() straight to agtype_value_to_agtype(). For an
agtype null (or an entity whose properties are null) that result is NULL,
so the backend dereferences a NULL pointer and the postmaster restarts:
SELECT 'null'::agtype ? '"a"'::agtype;
Return false when there are no properties to search, the same answer the
operator already gives for other non-container scalars such as '1' or
'"s"'. Add regression cases to jsonb_operators.
Fixes 25621 parent 3eeb20b commit 8ee0c94
3 files changed
Lines changed: 23 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
192 | 204 | | |
193 | 205 | | |
194 | 206 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
| 64 | + | |
63 | 65 | | |
64 | 66 | | |
65 | 67 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1322 | 1322 | | |
1323 | 1323 | | |
1324 | 1324 | | |
1325 | | - | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
1326 | 1334 | | |
1327 | 1335 | | |
1328 | 1336 | | |
| |||
0 commit comments