From 9dae389cee166ff4061828be74720a632811d9a8 Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Tue, 9 May 2023 13:28:06 +0200 Subject: parser: Fix "huge input lookup" error with push parser Fix parsing of larger documents without XML_PARSE_HUGE. Should fix #538. --- parserInternals.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/parserInternals.c b/parserInternals.c index 6612ea74..ddc874ca 100644 --- a/parserInternals.c +++ b/parserInternals.c @@ -639,9 +639,10 @@ xmlParserShrink(xmlParserCtxtPtr ctxt) { xmlParserInputBufferPtr buf = in->buf; size_t used; - /* Don't shrink memory buffers. */ + /* Don't shrink pull parser memory buffers. */ if ((buf == NULL) || - ((buf->encoder == NULL) && (buf->readcallback == NULL))) + ((ctxt->progressive == 0) && + (buf->encoder == NULL) && (buf->readcallback == NULL))) return; used = in->cur - in->base; -- cgit v1.2.1