Author: mrglavas
Date: Mon Jan 28 11:34:11 2008
New Revision: 616012
URL: http://svn.apache.org/viewvc?rev=616012&view=rev
Log:
Fixing a potential IndexOutOfBoundsException. Need to be careful when the
remaining
space left in the buffer is less than
XMLEntityManager.DEFAULT_XMLDECL_BUFFER_SIZE.
Thanks to David Cargill for pointing this problem out.
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/XMLEntityScanner.java
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/XMLEntityScanner.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/XMLEntityScanner.java?rev=616012&r1=616011&r2=616012&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/XMLEntityScanner.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/XMLEntityScanner.java
Mon Jan 28 11:34:11 2008
@@ -1745,9 +1745,10 @@
fCurrentEntity.baseCharOffset += (fCurrentEntity.position -
fCurrentEntity.startPosition);
// read characters
- int length = fCurrentEntity.mayReadChunks?
- (fCurrentEntity.ch.length - offset):
- (XMLEntityManager.DEFAULT_XMLDECL_BUFFER_SIZE);
+ int length = fCurrentEntity.ch.length - offset;
+ if (!fCurrentEntity.mayReadChunks && length >
XMLEntityManager.DEFAULT_XMLDECL_BUFFER_SIZE) {
+ length = XMLEntityManager.DEFAULT_XMLDECL_BUFFER_SIZE;
+ }
if (DEBUG_BUFFER) System.out.println(" length to try to read:
"+length);
int count = fCurrentEntity.reader.read(fCurrentEntity.ch, offset,
length);
if (DEBUG_BUFFER) System.out.println(" length actually read:
"+count);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]