Fix core dump in QTNodeCompare when tsquery_cmp() is applied to two empty
Tom Lane <tgl@sss.pgh.pa.us>
Fix core dump in QTNodeCompare when tsquery_cmp() is applied to two empty tsqueries. CompareTSQ has to have a guard for the case rather than blindly applying QTNodeCompare to random data past the end of the datums. Also, change QTNodeCompare to be a little less trusting: use an actual test rather than just Assert'ing that the input is sane. Problem encountered while investigating another issue (I saw a core dump in autoanalyze on a table containing multiple empty tsquery values). Back-patch to all branches with tsquery support. In HEAD, also fix some bizarre (though not outright wrong) coding in tsq_mcontains().
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/tsquery_op.c | modified | +2 −2 |
| src/backend/utils/adt/tsquery_util.c | modified | +7 −4 |