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: [email protected]
For additional commands, e-mail: [email protected]