Author: kkolinko
Date: Thu Jan 27 18:43:18 2011
New Revision: 1064252

URL: http://svn.apache.org/viewvc?rev=1064252&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50651
Fix NPE in InternalNioOutputBuffer.recycle().
- Do not throw NPE when recycle() is called more than once.
- Do not recycle the request in CoyoteAdapter#log() if it was not created there.

Modified:
    tomcat/tc6.0.x/trunk/STATUS.txt
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
    
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
    tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1064252&r1=1064251&r2=1064252&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Jan 27 18:43:18 2011
@@ -114,16 +114,3 @@ PATCHES PROPOSED TO BACKPORT:
   http://svn.apache.org/viewvc?rev=1062398&view=rev
   +1: kkolinko, markt, fhanik
   -1:
-
-* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50651
-  NPE in InternalNioOutputBuffer.recycle()
-  https://issues.apache.org/bugzilla/attachment.cgi?id=26549
-  +1: kkolinko, markt, fhanik
-  -1:
-
-  Additional patch:
-  Recycle request and response in CoyoteAdapter#log() only if they were
-  created there.
-  https://issues.apache.org/bugzilla/attachment.cgi?id=26557
-  +1: kkolinko, fhanik, markt
-  -1:

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1064252&r1=1064251&r2=1064252&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java 
Thu Jan 27 18:43:18 2011
@@ -349,9 +349,10 @@ public class CoyoteAdapter implements Ad
 
         Request request = (Request) req.getNote(ADAPTER_NOTES);
         Response response = (Response) res.getNote(ADAPTER_NOTES);
+        boolean create = false;
 
         if (request == null) {
-
+            create = true;
             // Create objects
             request = connector.createRequest();
             request.setCoyoteRequest(req);
@@ -374,8 +375,10 @@ public class CoyoteAdapter implements Ad
         connector.getService().getContainer().logAccess(
                 request, response, time, true);
         
-        request.recycle();
-        response.recycle();
+        if (create) {
+            request.recycle();
+            response.recycle();
+        }
     }
     
     

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java?rev=1064252&r1=1064251&r2=1064252&view=diff
==============================================================================
--- 
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java 
(original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioOutputBuffer.java 
Thu Jan 27 18:43:18 2011
@@ -348,9 +348,10 @@ public class InternalNioOutputBuffer 
 
         // Recycle Request object
         response.recycle();
-        socket.getBufHandler().getWriteBuffer().clear();
-
-        socket = null;
+        if (socket != null) {
+            socket.getBufHandler().getWriteBuffer().clear();
+            socket = null;
+        }
         pos = 0;
         lastActiveFilter = -1;
         committed = false;

Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1064252&r1=1064251&r2=1064252&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Thu Jan 27 18:43:18 2011
@@ -43,6 +43,16 @@
 <!-- Section names:
  General, Catalina, Coyote, Jasper, Cluster, Webapps, Other
 -->
+<section name="Tomcat 6.0.32 (jfclere)">
+  <subsection name="Coyote">
+    <changelog>
+      <fix>
+        <bug>50651</bug>: Fix NPE in InternalNioOutputBuffer.recycle().
+        (kkolinko)
+      </fix>
+    </changelog>
+  </subsection>
+</section>
 <section name="Tomcat 6.0.31 (jfclere)">
   <subsection name="Catalina">
     <changelog>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to