You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2018/02/22 15:59:14 UTC
svn commit: r1825078 -
/tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java
Author: remm
Date: Thu Feb 22 15:59:13 2018
New Revision: 1825078
URL: http://svn.apache.org/viewvc?rev=1825078&view=rev
Log:
Minor cleanup.
Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java
Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java?rev=1825078&r1=1825077&r2=1825078&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2AsyncParser.java Thu Feb 22 15:59:13 2018
@@ -83,12 +83,6 @@ class Http2AsyncParser extends Http2Pars
}
}
- private void unRead(ByteBuffer buffer) {
- if (buffer.hasRemaining()) {
- socketWrapper.unRead(buffer);
- }
- }
-
private class FrameCompletionCheck implements CompletionCheck {
private final FrameCompletionHandler handler;
@@ -102,9 +96,17 @@ class Http2AsyncParser extends Http2Pars
@Override
public CompletionHandlerCall callHandler(CompletionState state,
ByteBuffer[] buffers, int offset, int length) {
+ if (length != 2) {
+ try {
+ throw new IllegalArgumentException();
+ } catch (IllegalArgumentException e) {
+ error = e;
+ return CompletionHandlerCall.DONE;
+ }
+ }
if (!parsedFrameHeader) {
// The first buffer should be 9 bytes long
- ByteBuffer frameHeaderBuffer = buffers[offset];
+ ByteBuffer frameHeaderBuffer = buffers[0];
if (frameHeaderBuffer.position() < 9) {
return CompletionHandlerCall.CONTINUE;
}
@@ -130,7 +132,7 @@ class Http2AsyncParser extends Http2Pars
}
}
- if (buffers[offset + 1].position() < handler.payloadSize) {
+ if (buffers[1].position() < handler.payloadSize) {
try {
upgradeHandler.checkPauseState();
} catch (IOException e) {
@@ -234,7 +236,9 @@ class Http2AsyncParser extends Http2Pars
} catch (Exception e) {
error = e;
}
- unRead(payload);
+ if (payload.hasRemaining()) {
+ socketWrapper.unRead(payload);
+ }
}
if (state == CompletionState.DONE) {
// The call was not completed inline, so must start reading new frames
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org