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]

Reply via email to