diff options
author | 2017-07-21 14:51:21 -0700 | |
---|---|---|
committer | 2017-07-21 14:51:21 -0700 | |
commit | a5b7a8e8c20e867c8ae66497dc785ff25be4d6a4 (patch) | |
tree | cfb0dceb9da090aa5446ac17afe190f30b2ef90b /src/core/ext | |
parent | c463ad97680c23c2a5118b336fb3acd264ff40fe (diff) | |
parent | df1c5d6826af5c6cb3435ed7d4918d3cb91bb7e7 (diff) |
Merge pull request #9840 from ctiller/maxstrm
Check max streams
Diffstat (limited to 'src/core/ext')
-rw-r--r-- | src/core/ext/transport/chttp2/transport/parsing.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/ext/transport/chttp2/transport/parsing.c b/src/core/ext/transport/chttp2/transport/parsing.c index 3c8b470b4f..9d46cfa22e 100644 --- a/src/core/ext/transport/chttp2/transport/parsing.c +++ b/src/core/ext/transport/chttp2/transport/parsing.c @@ -657,6 +657,10 @@ static grpc_error *init_header_frame_parser(grpc_exec_ctx *exec_ctx, "ignoring grpc_chttp2_stream with non-client generated index %d", t->incoming_stream_id)); return init_skip_frame_parser(exec_ctx, t, 1); + } else if (grpc_chttp2_stream_map_size(&t->stream_map) >= + t->settings[GRPC_ACKED_SETTINGS] + [GRPC_CHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS]) { + return GRPC_ERROR_CREATE_FROM_STATIC_STRING("Max stream count exceeded"); } t->last_new_stream_id = t->incoming_stream_id; s = t->incoming_stream = |