Author: billbarker Date: Thu Feb 16 19:08:58 2006 New Revision: 378420 URL: http://svn.apache.org/viewcvs?rev=378420&view=rev Log: Fix NPE when now sink is supplied.
Previously, you could hit this by having maxSavePostSize=4K, and POSTing more than 4K worth of data to a protected page with FORM auth. Now the code throws an IOE farther down, which is handled correctly by FormAuthenticator. Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/buf/ByteChunk.java tomcat/connectors/trunk/util/java/org/apache/tomcat/util/buf/CharChunk.java Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/buf/ByteChunk.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/buf/ByteChunk.java?rev=378420&r1=378419&r2=378420&view=diff ============================================================================== --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/buf/ByteChunk.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/buf/ByteChunk.java Thu Feb 16 19:08:58 2006 @@ -320,7 +320,7 @@ // If the buffer is empty and the source is going to fill up all the // space in buffer, may as well write it directly to the output, // and avoid an extra copy - if ( optimizedWrite && len == limit && end == start) { + if ( optimizedWrite && len == limit && end == start && out != null ) { out.realWriteBytes( src, off, len ); return; } Modified: tomcat/connectors/trunk/util/java/org/apache/tomcat/util/buf/CharChunk.java URL: http://svn.apache.org/viewcvs/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/buf/CharChunk.java?rev=378420&r1=378419&r2=378420&view=diff ============================================================================== --- tomcat/connectors/trunk/util/java/org/apache/tomcat/util/buf/CharChunk.java (original) +++ tomcat/connectors/trunk/util/java/org/apache/tomcat/util/buf/CharChunk.java Thu Feb 16 19:08:58 2006 @@ -255,7 +255,7 @@ // Optimize on a common case. // If the source is going to fill up all the space in buffer, may // as well write it directly to the output, and avoid an extra copy - if ( optimizedWrite && len == limit && end == start) { + if ( optimizedWrite && len == limit && end == start && out != null ) { out.realWriteChars( src, off, len ); return; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]