diff -dupr a/parser.c b/parser.c
--- a/parser.c	2016-05-23 00:25:25.000000000 -0700
+++ b/parser.c	2017-08-09 16:30:55.562343926 -0700
@@ -12714,6 +12714,10 @@ xmlHaltParser(xmlParserCtxtPtr ctxt) {
 	}
 	ctxt->input->cur = BAD_CAST"";
 	ctxt->input->base = ctxt->input->cur;
+	if (ctxt->input->buf) {
+	    xmlBufEmpty (ctxt->input->buf->buffer);
+	} else
+	    ctxt->input->length = 0;
     }
 }