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:
parent
2204d3ea68
commit
47d396b630
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user