https://issues.apache.org/bugzilla/show_bug.cgi?id=45215
Summary: Request reader returns length zero
Product: Tomcat 5
Version: 5.5.26
Platform: All
OS/Version: Linux
Status: NEW
Severity: critical
Priority: P2
Component: Connector:Coyote
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]
Experienced as ArrayIndexOutOfBounds exceptions in Xerces
Due to the Reader returning a length of zero which should never occur unless
the input length parameetr is zero (which it isn').
A CalDAV REPORT request of 31k+ bytes produces the error.
Debugged it down through the CharChunk.subtract method called with off=1 and
len=2047.
The fields start and end both equal 8192.
In this code
if ((end - start) == 0) {
if (in == null)
return -1;
int n = in.realReadChars( buff, end, buff.length - end);
if (n < 0)
return -1;
}
int n = len;
if (len > getLength()) {
n = getLength();
}
buf.length - end = 0, so we call realReadChars with len = 0
And then n = getLength() sets n to zero.
Difficult to attach any test case as it involves debugging a whole system
Possibly a large POST would reveal the problem.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]