Author: markt Date: Fri Oct 12 08:38:53 2012 New Revision: 1397466 URL: http://svn.apache.org/viewvc?rev=1397466&view=rev Log: Fix a long standing TODO so correct exceptions are thrown. Clean-up Javadoc.
Modified: tomcat/trunk/java/javax/servlet/http/HttpServlet.java Modified: tomcat/trunk/java/javax/servlet/http/HttpServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServlet.java?rev=1397466&r1=1397465&r2=1397466&view=diff ============================================================================== --- tomcat/trunk/java/javax/servlet/http/HttpServlet.java (original) +++ tomcat/trunk/java/javax/servlet/http/HttpServlet.java Fri Oct 12 08:38:53 2012 @@ -843,32 +843,32 @@ class NoBodyOutputStream extends Servlet @Override public void write(byte buf[], int offset, int len) throws IOException { - if (len >= 0) { - contentLength += len; - } else { - // XXX - // isn't this really an IllegalArgumentException? + if (buf == null) { + throw new NullPointerException( + lStrings.getString("err.io.nullArray")); + } - String msg = lStrings.getString("err.io.negativelength"); - throw new IOException(msg); + if (offset < 0 || len < 0 || offset+len < buf.length) { + String msg = lStrings.getString("err.io.indexOutOfBounds"); + Object[] msgArgs = new Object[3]; + msgArgs[0] = Integer.valueOf(offset); + msgArgs[1] = Integer.valueOf(len); + msgArgs[2] = Integer.valueOf(offset + len); + msg = MessageFormat.format(msg, msgArgs); + throw new IndexOutOfBoundsException(msg); } + + contentLength += len; } - /** - * TODO SERVLET 3.1 - * @return - */ @Override public boolean canWrite() { + // TODO SERVLET 3.1 return false; } - /** - * TODO SERVLET 3.1 - * @param listener - */ @Override public void setWriteListener(javax.servlet.WriteListener listener) { - + // TODO SERVLET 3.1 } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org