Mantis - Resin
|
|||||
Viewing Issue Advanced Details | |||||
|
|||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
3766 | minor | always | 11-16-09 15:03 | 12-16-09 10:20 | |
|
|||||
Reporter: | alex | Platform: | |||
Assigned To: | ferg | OS: | |||
Priority: | normal | OS Version: | |||
Status: | closed | Product Version: | 3.1.8 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 4.0.3 | ||
|
|||||
Summary: | 0003766: file servlet throws ArrayIndexOutOfBoundsException with negative range | ||||
Description: |
reported by Knut Forkalsrud Accept-Language: zh-cn,zh-hk,zh-tw,en-us User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Accept: */* Host: www.mydomain.com Connection: Keep-Alive Range: bytes=-335544320--1162852624 Accept-Encoding: gzip X-Forwarded-For: 124.115.0.146 This results in an exception like this: java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.caucho.vfs.WriteStream.write(WriteStream.java:301) at com.caucho.server.connection.ResponseStream.writeNext(ResponseStream.java:445) at com.caucho.server.connection.ToByteResponseStream.write(ToByteResponseStream.java:336) at com.caucho.server.connection.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:67) at com.caucho.vfs.ReadStream.writeToStream(ReadStream.java:899) at com.caucho.servlets.FileServlet.handleRange(FileServlet.java:498) at com.caucho.servlets.FileServlet.service(FileServlet.java:325) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103) at com.caucho.server.webapp.NamedDispatcherImpl.forward(NamedDispatcherImpl.java:108) at com.mydomain.www.MyServlet.doGet(BaseServlet.java:167) at javax.servlet.http.HttpServlet.service(HttpServlet.java:114) at javax.servlet.http.HttpServlet.service(HttpServlet.java:91) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:273) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:730) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:649) at java.lang.Thread.run(Thread.java:595) (I'm forwarding the request to the FileServlet). No harm done here, the requests seems to fail without causing any other side effects, but I'm wondering if the FileServlet should handle the situation a little more gracefully and give a 4xx response code instead of throwing an exception, which ends up being a 5xx response code. |
||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Relationships | |||||
Attached Files: |
Notes | |||||
|
|||||
|
|