Thread: pgsql: Validate ispell dictionaries more carefully.

pgsql: Validate ispell dictionaries more carefully.

From
Tom Lane
Date:
Validate ispell dictionaries more carefully.

Using incorrect, or just mismatched, dictionary and affix files
could result in a crash, due to failure to cross-check offsets
obtained from the file.  Add necessary validation, as well as
some Asserts for future-proofing.

Per bug #16050 from Alexander Lakhin.  Back-patch to 9.6 where the
problem was introduced.

Arthur Zakirov, per initial investigation by Tomas Vondra

Discussion: https://postgr.es/m/16050-024ae722464ab604@postgresql.org
Discussion: https://postgr.es/m/20191013012610.2p2fp3zzpoav7jzf@development

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/8af1624e3f0efd2d029217a91d07bd3795f080a6

Modified Files
--------------
src/backend/tsearch/spell.c           | 25 ++++++++++++++++++++---
src/test/regress/expected/tsdicts.out | 34 ++++++++++++++++++++++++++++++++
src/test/regress/sql/tsdicts.sql      | 37 +++++++++++++++++++++++++++++++++++
3 files changed, 93 insertions(+), 3 deletions(-)