Skip to content

Commit

Permalink
http2: Ignore if we have stream ID not in hash in on_stream_close
Browse files Browse the repository at this point in the history
We could get stream ID not in the hash in on_stream_close.  For
example, if we decided to reject stream (e.g., PUSH_PROMISE), then we
don't create stream and store it in hash with its stream ID.
  • Loading branch information
tatsuhiro-t authored and bagder committed May 18, 2015
1 parent 4ac6cc3 commit 7ff7e45
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions lib/http2.c
Expand Up @@ -431,11 +431,13 @@ static int on_stream_close(nghttp2_session *session, int32_t stream_id,
data_s = Curl_hash_pick(&conn->proto.httpc.streamsh, &stream_id,
sizeof(stream_id));
if(!data_s) {
/* Receiving a Stream ID not in the hash should not happen, this is an
internal error more than anything else! */
failf(conn->data, "Received frame on Stream ID: %x not in stream hash!",
/* We could get stream ID not in the hash. For example, if we
decided to reject stream (e.g., PUSH_PROMISE). We call infof
as a debugging purpose for now. */
infof(conn->data,
"Received frame on Stream ID: %x not in stream hash!\n",
stream_id);
return NGHTTP2_ERR_CALLBACK_FAILURE;
return 0;
}
stream = data_s->req.protop;

Expand Down

0 comments on commit 7ff7e45

Please sign in to comment.