Author: mrglavas
Date: Mon Jan 17 05:15:19 2022
New Revision: 1897141

URL: http://svn.apache.org/viewvc?rev=1897141&view=rev
Log:
Adding a required boundary check when a carriage return is the last character 
of an entity.

Modified:
    xerces/java/trunk/src/org/apache/xerces/impl/XML11EntityScanner.java
    xerces/java/trunk/src/org/apache/xerces/impl/XMLEntityScanner.java

Modified: xerces/java/trunk/src/org/apache/xerces/impl/XML11EntityScanner.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/XML11EntityScanner.java?rev=1897141&r1=1897140&r2=1897141&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/XML11EntityScanner.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/XML11EntityScanner.java Mon 
Jan 17 05:15:19 2022
@@ -108,9 +108,11 @@ public class XML11EntityScanner
                 load(1, false);
             }
             if (c == '\r' && external) {
-                int cc = fCurrentEntity.ch[fCurrentEntity.position++];
-                if (cc != '\n' && cc != 0x85) {
-                    fCurrentEntity.position--;
+                if (fCurrentEntity.position < fCurrentEntity.count) {
+                    int cc = fCurrentEntity.ch[fCurrentEntity.position++];
+                    if (cc != '\n' && cc != 0x85) {
+                        fCurrentEntity.position--;
+                    }
                 }
             }
             c = '\n';

Modified: xerces/java/trunk/src/org/apache/xerces/impl/XMLEntityScanner.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/XMLEntityScanner.java?rev=1897141&r1=1897140&r2=1897141&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/XMLEntityScanner.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/XMLEntityScanner.java Mon Jan 
17 05:15:19 2022
@@ -257,8 +257,10 @@ public class XMLEntityScanner implements
                 load(1, false);
             }
             if (c == '\r' && external) {
-                if (fCurrentEntity.ch[fCurrentEntity.position++] != '\n') {
-                    fCurrentEntity.position--;
+                if (fCurrentEntity.position < fCurrentEntity.count) {
+                    if (fCurrentEntity.ch[fCurrentEntity.position++] != '\n') {
+                        fCurrentEntity.position--;
+                    }
                 }
                 c = '\n';
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to