53e0e7
diff --git a/parser/expat/lib/xmlparse.c b/parser/expat/lib/xmlparse.c
53e0e7
--- a/parser/expat/lib/xmlparse.c
53e0e7
+++ b/parser/expat/lib/xmlparse.c
53e0e7
@@ -5652,12 +5652,18 @@
53e0e7
   else
53e0e7
 #endif /* XML_DTD */
53e0e7
   {
53e0e7
     processor = contentProcessor;
53e0e7
     /* see externalEntityContentProcessor vs contentProcessor */
53e0e7
-    return doContent(parser, parentParser ? 1 : 0, encoding, s, end,
53e0e7
-                     nextPtr, (XML_Bool)!ps_finalBuffer);
53e0e7
+    result = doContent(parser, parser->m_parentParser ? 1 : 0,
53e0e7
+                       parser->m_encoding, s, end, nextPtr,
53e0e7
+                       (XML_Bool)! parser->m_parsingStatus.finalBuffer);
53e0e7
+    if (result == XML_ERROR_NONE) {
53e0e7
+      if (! storeRawNames(parser))
53e0e7
+        return XML_ERROR_NO_MEMORY;
53e0e7
+    }
53e0e7
+    return result;
53e0e7
   }
53e0e7
 }
53e0e7
 
53e0e7
 static enum XML_Error PTRCALL
53e0e7
 errorProcessor(XML_Parser parser,
53e0e7