Re: BUG #18274: Error 'invalid XML content'

Dmitry Koval <d.koval@postgrespro.ru>

From: Dmitry Koval <d.koval@postgrespro.ru>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2024-01-16T13:55:34Z
Lists: pgsql-bugs

Attachments

Hi!

Thanks for the recommendations.

 >- Document in a comment why a fake root node is necessary (aka the
 > current routines don't give enough control over the limits you'd
 >like to enforce).

Comment expanded (see src/backend/utils/adt/xml.c).

 >- The top comment of xml_parse() still mentions
 >xmlParseBalancedChunkMemory() as an effect of 483bdb2afec9, so this
 >needs to be updated.

Updated.

 >Also, it may be worth double-checking if there are other things marked
 >as deprecated in the upstream doc, and switch to "newer" things.

I found another deprecated function xmlSubstituteEntitiesDefault [1] 
(contrib/xml2). xmlSubstituteEntitiesDefault was removed and added the 
XML_PARSE_NOENT flag in functions xmlReadMemory instead it.

[1]https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlSubstituteEntitiesDefault

-- 
With best regards,
Dmitry Koval

Postgres Professional: http://postgrespro.com

Commits

  1. xml2: Replace deprecated routines with recommended ones

  2. Revert "Add support for parsing of large XML data (>= 10MB)"

  3. Add support for parsing of large XML data (>= 10MB)