Thread: pgsql: Fix core dump in QTNodeCompare when tsquery_cmp() is applied to

pgsql: Fix core dump in QTNodeCompare when tsquery_cmp() is applied to

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
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().

Tags:
----
REL8_3_STABLE

Modified Files:
--------------
    pgsql/src/backend/utils/adt:
        tsquery_op.c (r1.3.2.2 -> r1.3.2.3)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/tsquery_op.c?r1=1.3.2.2&r2=1.3.2.3)
        tsquery_util.c (r1.8 -> r1.8.2.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/tsquery_util.c?r1=1.8&r2=1.8.2.1)