postgresql/contrib/ltree
Tom Lane 5feb3d0b3f Protect against overflow of ltree.numlevel and lquery.numlevel.
These uint16 fields could be overflowed by excessively long input,
producing strange results.  Complain for invalid input.

Likewise check for out-of-range values of the repeat counts in lquery.
(We don't try too hard on that one, notably not bothering to detect
if atoi's result has overflowed.)

Also detect length overflow in ltree_concat.

In passing, be more consistent about whether "syntax error" messages
include the type name.  Also, clarify the documentation about what
the size limit is.

This has been broken for a long time, so back-patch to all supported
branches.

Nikita Glukhov, reviewed by Benjie Gillam and Tomas Vondra

Discussion: https://postgr.es/m/CAP_rww=waX2Oo6q+MbMSiZ9ktdj6eaJj0cQzNu=Ry2cCDij5fw@mail.gmail.com
2020-03-28 17:09:51 -04:00
..
data Add ltree data type to contrib, from Teodor Sigaev and Oleg Bartunov. 2002-07-30 16:40:34 +00:00
expected Protect against overflow of ltree.numlevel and lquery.numlevel. 2020-03-28 17:09:51 -04:00
sql Protect against overflow of ltree.numlevel and lquery.numlevel. 2020-03-28 17:09:51 -04:00
_ltree_gist.c Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
_ltree_op.c Make DatumGetFoo/PG_GETARG_FOO/PG_RETURN_FOO macro names more consistent. 2017-09-18 15:21:23 -04:00
.gitignore Support "make check" in contrib 2011-04-25 22:27:11 +03:00
crc32.c Remove useless duplicate inclusions of system header files. 2017-02-25 16:12:55 -05:00
crc32.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
lquery_op.c Make DatumGetFoo/PG_GETARG_FOO/PG_RETURN_FOO macro names more consistent. 2017-09-18 15:21:23 -04:00
ltree_gist.c Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
ltree_io.c Protect against overflow of ltree.numlevel and lquery.numlevel. 2020-03-28 17:09:51 -04:00
ltree_op.c Protect against overflow of ltree.numlevel and lquery.numlevel. 2020-03-28 17:09:51 -04:00
ltree--1.0--1.1.sql Update extensions with GIN/GIST support for parallel query. 2016-06-14 13:34:37 -04:00
ltree--1.1.sql Update extensions with GIN/GIST support for parallel query. 2016-06-14 13:34:37 -04:00
ltree--unpackaged--1.0.sql Fix typos in some error messages thrown by extension scripts when fed to psql. 2014-08-25 18:30:37 +02:00
ltree.control Handle contrib's GIN/GIST support function signature changes honestly. 2016-06-09 16:44:25 -04:00
ltree.h Protect against overflow of ltree.numlevel and lquery.numlevel. 2020-03-28 17:09:51 -04:00
ltreetest.sql Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
ltxtquery_io.c Make DatumGetFoo/PG_GETARG_FOO/PG_RETURN_FOO macro names more consistent. 2017-09-18 15:21:23 -04:00
ltxtquery_op.c Make DatumGetFoo/PG_GETARG_FOO/PG_RETURN_FOO macro names more consistent. 2017-09-18 15:21:23 -04:00
Makefile Provide for contrib and pgxs modules to install include files. 2018-07-31 19:58:39 +01:00