Re: Bug in XPATH() produces invalid XML values and probably un-restorable dumps
Florian G. Pflug <fgp@phlo.org>
From: Florian Pflug <fgp@phlo.org>
To: Florian Pflug <fgp@phlo.org>
Cc: PG Hackers <pgsql-hackers@postgresql.org>
Date: 2011-06-09T18:00:31Z
Lists: pgsql-hackers
Attachments
- pg_xpath_invalidxml.v2.patch (application/octet-stream) patch v2
On May31, 2011, at 20:50 , Florian Pflug wrote:
> While trying to figure out sensible semantics for XPATH() and scalar-value returning XPath expressions, I've stumbled upon a bug in XPATH() that allows invalid XML values to be produced. This is a serious problem because should such invalid values get inserted into an XML column, an un-restorable dump ensues.
>
> Here's an example (REL9_0_STABLE as of a few days ago)
>
> template1=# SELECT (XPATH('/*/text()', '<root><</root>'))[1];
> xpath
> -------
> <
>
> ...
>
> Patch is attached.
I've added two tests to the xml regression test which highlight the issue.
Updated patch attached.
best regards,
Florian Pflug