git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 42750b0) | patch
Protect against overflow of ltree.numlevel and lquery.numlevel.
2020年3月28日 21:09:51 +0000 (17:09 -0400)
2020年3月28日 21:09:51 +0000 (17:09 -0400)
commit 95f7ddfdad99c5ea0500d90ce52075814e10ed8c
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
contrib/ltree/expected/ltree.out diff | blob | blame | history
contrib/ltree/ltree.h diff | blob | blame | history
contrib/ltree/ltree_io.c diff | blob | blame | history
contrib/ltree/ltree_op.c diff | blob | blame | history
contrib/ltree/sql/ltree.sql diff | blob | blame | history
doc/src/sgml/ltree.sgml diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /