]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix detection of unfinished Unicode surrogate pair at end of string.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 21 Dec 2016 22:39:33 +0000 (17:39 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 21 Dec 2016 22:39:33 +0000 (17:39 -0500)
commita57695d9a815ce355e17c5cdec181f87bc9de3f9
tree7c461649a7899b435501ccb458c5552076e936d4
parent1f2cfd26f50d3a7d885961aa68361d40d7753949
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
src/backend/parser/scan.l