summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkwaclaw <kwaclaw>2009-12-29 18:42:05 +0000
committerkwaclaw <kwaclaw>2009-12-29 18:42:05 +0000
commit2c62edf08c436a1cdf148c03442edc7e65c1ebc2 (patch)
tree2af23d18457e27244c7e50558d661759ae17cbfd
parent6d285de5951ae538b011b9b54b78c55e864e0ad6 (diff)
downloadlibexpat-2c62edf08c436a1cdf148c03442edc7e65c1ebc2.tar.gz
Revised fix for issue# 2894085: differentiated between two cases where the next pointer should be updated to the end pointer or not - the differentiating negative token value is -XML_TOK_PROLOG_S.
-rw-r--r--lib/xmlparse.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
index 72488d4..c766d40 100644
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -3701,6 +3701,9 @@ doProlog(XML_Parser parser,
return XML_ERROR_UNCLOSED_TOKEN;
case XML_TOK_PARTIAL_CHAR:
return XML_ERROR_PARTIAL_CHAR;
+ case -XML_TOK_PROLOG_S:
+ tok = -tok;
+ break;
case XML_TOK_NONE:
#ifdef XML_DTD
/* for internal PE NOT referenced between declarations */
@@ -3723,6 +3726,7 @@ doProlog(XML_Parser parser,
return XML_ERROR_NO_ELEMENTS;
default:
tok = -tok;
+ next = end;
break;
}
}