postgresql/contrib/pg_trgm
Tom Lane 1279414bc6 Fix misbehavior in contrib/pg_trgm with an unsatisfiable regex.
If the regex compiler can see that a regex is unsatisfiable
(for example, '$foo') then it may emit an NFA having no arcs.
pg_trgm's packGraph function did the wrong thing in this case;
it would access off the end of a work array, and with bad luck
could produce a corrupted output data structure causing more
problems later.  This could end with wrong answers or crashes
in queries using a pg_trgm GIN or GiST index with such a regex.

Fix by not trying to de-duplicate if there aren't at least 2 arcs.

Per bug #17830 from Alexander Lakhin.  Back-patch to all supported
branches.

Discussion: https://postgr.es/m/17830-57ff5f89bdb02b09@postgresql.org
2023-03-11 12:15:41 -05:00
..
data
expected Fix misbehavior in contrib/pg_trgm with an unsatisfiable regex. 2023-03-11 12:15:41 -05:00
sql Fix misbehavior in contrib/pg_trgm with an unsatisfiable regex. 2023-03-11 12:15:41 -05:00
.gitignore
Makefile
pg_trgm--1.0--1.1.sql
pg_trgm--1.1--1.2.sql
pg_trgm--1.2--1.3.sql Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
pg_trgm--1.3--1.4.sql
pg_trgm--1.3.sql
pg_trgm--unpackaged--1.0.sql Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
pg_trgm.control
trgm_gin.c
trgm_gist.c pg_trgm: fix crash in 2-item picksplit 2020-11-12 14:56:58 +00:00
trgm_op.c Fix more typos and inconsistencies in the tree 2019-06-17 16:13:16 +09:00
trgm_regexp.c Fix misbehavior in contrib/pg_trgm with an unsatisfiable regex. 2023-03-11 12:15:41 -05:00
trgm.h Get rid of trailing semicolons in C macro definitions. 2020-05-01 17:28:00 -04:00