aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/transport/chttp2/parsing.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-06-17 07:38:20 -0700
committerGravatar Craig Tiller <craig.tiller@gmail.com>2015-06-17 07:38:20 -0700
commitf932fd506dfb62a2c31c11a03249ba813a6f7acc (patch)
tree19392bb50c18ef5c02c43b6c4cb0d331323fb71a /src/core/transport/chttp2/parsing.c
parent759eb32207185ce19d61ce7043d67bd278b30006 (diff)
Handle endpoint disconnection better
Diffstat (limited to 'src/core/transport/chttp2/parsing.c')
-rw-r--r--src/core/transport/chttp2/parsing.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/transport/chttp2/parsing.c b/src/core/transport/chttp2/parsing.c
index 1acf0a4b91..cea10b592e 100644
--- a/src/core/transport/chttp2/parsing.c
+++ b/src/core/transport/chttp2/parsing.c
@@ -667,6 +667,11 @@ static int init_rst_stream_parser(
&transport_parsing->simple.rst_stream,
transport_parsing->incoming_frame_size,
transport_parsing->incoming_frame_flags);
+ transport_parsing->incoming_stream = grpc_chttp2_parsing_lookup_stream(transport_parsing,
+ transport_parsing->incoming_stream_id);
+ if (!transport_parsing->incoming_stream) {
+ return init_skip_frame_parser(transport_parsing, 0);
+ }
transport_parsing->parser = grpc_chttp2_rst_stream_parser_parse;
transport_parsing->parser_data = &transport_parsing->simple.rst_stream;
return ok;