Fix regression introduced by patch to CVE-2016-0718: Tag names were cut off in some...
authorrpointel <rpointel@openbsd.org>
Fri, 29 Jul 2016 18:57:39 +0000 (18:57 +0000)
committerrpointel <rpointel@openbsd.org>
Fri, 29 Jul 2016 18:57:39 +0000 (18:57 +0000)
lib/libexpat/lib/xmlparse.c

index 3bb80ee..2569fef 100644 (file)
@@ -2435,7 +2435,7 @@ doContent(XML_Parser parser,
                        &fromPtr, rawNameEnd,
                        (ICHAR **)&toPtr, (ICHAR *)tag->bufEnd - 1);
             convLen = (int)(toPtr - (XML_Char *)tag->buf);
-            if ((convert_res == XML_CONVERT_COMPLETED) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) {
+            if ((fromPtr >= rawNameEnd) || (convert_res == XML_CONVERT_INPUT_INCOMPLETE)) {
               tag->name.strLen = convLen;
               break;
             }