From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: hstore: Tighten key/value parsing check for whitespaces |
Date: | 2023-06-12 00:15:28 |
Message-ID: | E1q8VDT-001KjY-NQ@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/d522b05c8c1c2c430b2c8be795c609f6f4f2ce44
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/meson.build | 1 +
contrib/hstore/sql/hstore_utf8.sql | 19 ++++++++++++++++
6 files changed, 70 insertions(+), 5 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2023-06-12 03:21:47 | pgsql: Fix instability in regression test for Parallel Hash Full Join |
Previous Message | Michael Paquier | 2023-06-11 01:34:14 | pgsql: Fix missing initializations of MyProc.delayChkptEnd |