From f2743a7d70e7b2891277632121bb51e739743a47 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Fri, 26 Jan 2024 10:15:32 +0900 Subject: Revert "Add support for parsing of large XML data (>= 10MB)" This reverts commit 2197d06224a1, following a discussion over a Coverity report where issues like the "Billion laugh attack" could cause the backend to waste CPU and memory even if a client applied checks on the size of the data given in input, and libxml2 does not offer guarantees that input limits are respected under XML_PARSE_HUGE. Discussion: https://postgr.es/m/ZbHlgrPLtBZyr_QW@paquier.xyz --- contrib/xml2/xpath.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'contrib/xml2/xpath.c') diff --git a/contrib/xml2/xpath.c b/contrib/xml2/xpath.c index a2cec95f3fa..a967257546a 100644 --- a/contrib/xml2/xpath.c +++ b/contrib/xml2/xpath.c @@ -381,7 +381,7 @@ pgxml_xpath(text *document, xmlChar *xpath, xpath_workspace *workspace) { workspace->doctree = xmlReadMemory((char *) VARDATA_ANY(document), docsize, NULL, NULL, - XML_PARSE_HUGE | XML_PARSE_NOENT); + XML_PARSE_NOENT); if (workspace->doctree != NULL) { workspace->ctxt = xmlXPathNewContext(workspace->doctree); @@ -626,7 +626,7 @@ xpath_table(PG_FUNCTION_ARGS) if (xmldoc) doctree = xmlReadMemory(xmldoc, strlen(xmldoc), NULL, NULL, - XML_PARSE_HUGE | XML_PARSE_NOENT); + XML_PARSE_NOENT); else /* treat NULL as not well-formed */ doctree = NULL; -- cgit v1.2.3