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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org