]> granicus.if.org Git - libexpat/commitdiff
XML_Parse(): If XML_GetBuffer() returns NULL, do not attempt to move
authorFred L. Drake, Jr. <fdrake@users.sourceforge.net>
Thu, 9 Aug 2001 18:08:56 +0000 (18:08 +0000)
committerFred L. Drake, Jr. <fdrake@users.sourceforge.net>
Thu, 9 Aug 2001 18:08:56 +0000 (18:08 +0000)
    data aronud, just propogate the error.

This closes SF bug #434665.

expat/lib/xmlparse.c

index 7c6a8017eaf04764e4fe99c5e05001e26a875460..df69b749a5d8c1cfd1e22b9fb9b9e7534f018676 100644 (file)
@@ -1134,8 +1134,13 @@ int XML_Parse(XML_Parser parser, const char *s, int len, int isFinal)
   }
 #endif  /* not defined XML_CONTEXT_BYTES */
   else {
-    memcpy(XML_GetBuffer(parser, len), s, len);
-    return XML_ParseBuffer(parser, len, isFinal);
+    void *buff = XML_GetBuffer(parser, len);
+    if (buff == NULL)
+      return 0;
+    else {
+      memcpy(buff, s, len);
+      return XML_ParseBuffer(parser, len, isFinal);
+    }
   }
 }