pgsql: Fix detection of unfinished Unicode surrogate pair at end of str

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix detection of unfinished Unicode surrogate pair at end of str
Date: 2016-12-21 22:39:57
Message-ID: E1cJpYD-0005zF-0W@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix detection of unfinished Unicode surrogate pair at end of string.

The U&'...' and U&"..." syntaxes silently discarded a surrogate pair
start (that is, a code between U+D800 and U+DBFF) if it occurred at
the very end of the string. This seems like an obvious oversight,
since we throw an error for every other invalid combination of surrogate
characters, including the very same situation in E'...' syntax.

This has been wrong since the pair processing was added (in 9.0),
so back-patch to all supported branches.

Discussion: https://postgr.es/m/19113.1482337898@sss.pgh.pa.us

Branch
------
REL9_6_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/88e1e91da58422c5cf0e6e2d32f2aa15d75b8de9

Modified Files
--------------
src/backend/parser/scan.l | 7 +++++++
1 file changed, 7 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Joe Conway 2016-12-21 23:52:42 pgsql: Improve dblink error message when remote does not provide it
Previous Message Magnus Hagander 2016-12-21 20:20:04 Re: pgsql: Fix base backup rate limiting in presence of slow i/o