Crasher - Expat parser's XML_ParseBuffer wasn't aware of the BLOCKING mechansim and hence failed to update the buffer position ( bufferPtr ). The fix would update bufferPtr such that when the expat parser gets upblocked we'd resume from the point we stopped. b=123475, r=rbs@maths.uq.edu.au, sr=jst

git-svn-id: svn://10.0.0.236/trunk@114862 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
harishd%netscape.com 2002-02-19 02:01:18 +00:00
parent 2204d3ea68
commit 47d396b630
2 changed files with 12 additions and 0 deletions

View File

@ -967,6 +967,12 @@ int XML_ParseBuffer(XML_Parser parser, int len, int isFinal)
XmlUpdatePosition(encoding, positionPtr, bufferPtr, &position);
return 1;
}
else if (errorCode == XML_ERROR_PARSER_BLOCKED) {
bufferPtr = eventPtr;
parseEndPtr = eventEndPtr;
XmlUpdatePosition(encoding, positionPtr, eventEndPtr, &position);
return 0;
}
else {
eventEndPtr = eventPtr;
processor = errorProcessor;

View File

@ -967,6 +967,12 @@ int XML_ParseBuffer(XML_Parser parser, int len, int isFinal)
XmlUpdatePosition(encoding, positionPtr, bufferPtr, &position);
return 1;
}
else if (errorCode == XML_ERROR_PARSER_BLOCKED) {
bufferPtr = eventPtr;
parseEndPtr = eventEndPtr;
XmlUpdatePosition(encoding, positionPtr, eventEndPtr, &position);
return 0;
}
else {
eventEndPtr = eventPtr;
processor = errorProcessor;