You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ne...@apache.org on 2002/01/25 20:55:34 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/impl XMLScanner.java XMLDTDScannerImpl.java
neilg 02/01/25 11:55:34
Modified: java/src/org/apache/xerces/impl XMLScanner.java
XMLDTDScannerImpl.java
Log:
fix ArrayIndexOutOfBoundsException that would result if one parsed a doc with an incomplete PI or comment. Regression from XNI change of 01/22.
Revision Changes Path
1.10 +8 -2 xml-xerces/java/src/org/apache/xerces/impl/XMLScanner.java
Index: XMLScanner.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/XMLScanner.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- XMLScanner.java 22 Jan 2002 16:42:26 -0000 1.9
+++ XMLScanner.java 25 Jan 2002 19:55:34 -0000 1.10
@@ -95,7 +95,7 @@
* @author Arnaud Le Hors, IBM
* @author Eric Ye, IBM
*
- * @version $Id: XMLScanner.java,v 1.9 2002/01/22 16:42:26 neilg Exp $
+ * @version $Id: XMLScanner.java,v 1.10 2002/01/25 19:55:34 neilg Exp $
*/
public abstract class XMLScanner
implements XMLComponent {
@@ -173,6 +173,9 @@
/** Scanning attribute. */
protected boolean fScanningAttribute;
+ /** Report entity boundary. */
+ protected boolean fReportEntity;
+
// symbols
/** Symbol: "version". */
@@ -244,6 +247,7 @@
// initialize vars
fEntityDepth = 0;
+ fReportEntity = true;
// save built-in entity names
fVersionSymbol = fSymbolTable.addSymbol("version");
@@ -554,6 +558,7 @@
protected void scanPI() throws IOException, XNIException {
// target
+ fReportEntity = false;
String target = fEntityScanner.scanName();
if (target == null) {
reportFatalError("PITargetRequired", null);
@@ -561,6 +566,7 @@
// scan data
scanPIData(target, fString);
+ fReportEntity = true;
} // scanPI()
@@ -656,7 +662,7 @@
new Object[] { Integer.toHexString(c) });
fEntityScanner.scanChar();
}
- }
+ }
}
text.append(fString);
if (!fEntityScanner.skipChar('>')) {
1.16 +3 -6 xml-xerces/java/src/org/apache/xerces/impl/XMLDTDScannerImpl.java
Index: XMLDTDScannerImpl.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/XMLDTDScannerImpl.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- XMLDTDScannerImpl.java 24 Jan 2002 06:42:58 -0000 1.15
+++ XMLDTDScannerImpl.java 25 Jan 2002 19:55:34 -0000 1.16
@@ -104,7 +104,7 @@
* @author Glenn Marcy, IBM
* @author Eric Ye, IBM
*
- * @version $Id: XMLDTDScannerImpl.java,v 1.15 2002/01/24 06:42:58 neilg Exp $
+ * @version $Id: XMLDTDScannerImpl.java,v 1.16 2002/01/25 19:55:34 neilg Exp $
*/
public class XMLDTDScannerImpl
extends XMLScanner
@@ -171,9 +171,6 @@
/** Seen external parameter entity. */
protected boolean fSeenExternalPE;
- /** Report entity boundary. */
- protected boolean fReportEntity;
-
// private data
/** Start DTD called. */
@@ -384,8 +381,6 @@
fSeenExternalDTD = false;
fSeenExternalPE = false;
- fReportEntity = true;
-
// set starting state
setScannerState(SCANNER_STATE_TEXT_DECL);
@@ -698,6 +693,7 @@
*/
protected final void scanComment() throws IOException, XNIException {
+ fReportEntity = false;
scanComment(fStringBuffer);
fMarkUpDepth--;
@@ -705,6 +701,7 @@
if (fDTDHandler != null) {
fDTDHandler.comment(fStringBuffer, null);
}
+ fReportEntity = true;
} // scanComment()
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org