Author: remm
Date: Fri Dec  1 16:54:38 2017
New Revision: 1816887

URL: http://svn.apache.org/viewvc?rev=1816887&view=rev
Log:
Do not call onDataAvailable without data to read. I tried method with less side 
effects, but they all caused problems elsewhere, while this one passes the 
testsuite and everything else I could test it with.

Modified:
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java?rev=1816887&r1=1816886&r2=1816887&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java
 (original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletInputStream.java
 Fri Dec  1 16:54:38 2017
@@ -203,8 +203,12 @@ public class UpgradeServletInputStream e
 
 
     final void onDataAvailable() {
-        if (listener == null) {
-            return;
+        try {
+            if (listener == null || !socketWrapper.isReadyForRead()) {
+                return;
+            }
+        } catch (IOException e) {
+            onError(e);
         }
         ready = Boolean.TRUE;
         ClassLoader oldCL = 
processor.getUpgradeToken().getContextBind().bind(false, null);

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1816887&r1=1816886&r2=1816887&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Dec  1 16:54:38 2017
@@ -55,12 +55,15 @@
       </fix>
     </changelog>
   </subsection>
-  <subsection>
+  <subsection name="Coyote">
     <changelog>
       <add>
         <bug>60276</bug>: Implement GZIP compression support for responses
         served over HTTP/2. (markt)
       </add>
+      <fix>
+        Do not call onDataAvailable without any data to read. (remm)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Other">



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

Reply via email to