pgsql: hstore: Tighten key/value parsing check for whitespaces

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема pgsql: hstore: Tighten key/value parsing check for whitespaces
Дата
Msg-id E1q8VDT-001Kjg-Pi@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
hstore: Tighten key/value parsing check for whitespaces

isspace() can be locale-sensitive depending on the platform, causing
hstore to consider as whitespaces characters it should not see as such.
For example, U+0105, being decoded as 0xC4 0x85 in UTF-8, would be
discarded from the input given.

This problem is similar to 9ae2661, though it was missed that hstore
can also manipulate non-ASCII inputs, so replace the existing isspace()
calls with scanner_isspace().

This problem exists for a long time, so backpatch all the way down.

Author: Evan Jones
Discussion: https://postgr.es/m/CA+HWA9awUW0+RV_gO9r1ABZwGoZxPztcJxPy8vMFSTbTfi4jig@mail.gmail.com
Backpatch-through: 11

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/edf1de65e529e85aa1aba15260339becbfe5d598

Modified Files
--------------
contrib/hstore/Makefile                   |  2 +-
contrib/hstore/expected/hstore_utf8.out   | 36 +++++++++++++++++++++++++++++++
contrib/hstore/expected/hstore_utf8_1.out |  8 +++++++
contrib/hstore/hstore_io.c                |  9 ++++----
contrib/hstore/sql/hstore_utf8.sql        | 19 ++++++++++++++++
5 files changed, 69 insertions(+), 5 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: pgsql: Fix missing initializations of MyProc.delayChkptEnd
Следующее
От: Michael Paquier
Дата:
Сообщение: pgsql: Fix instability in regression test for Parallel Hash Full Join