36 lines
1.0 KiB
Diff
36 lines
1.0 KiB
Diff
diff -Naur a/lib/nghttp2_session.c b/lib/nghttp2_session.c
|
|
--- a/lib/nghttp2_session.c 2023-07-25 14:24:37.157709999 +0800
|
|
+++ b/lib/nghttp2_session.c 2023-07-25 14:22:35.604257644 +0800
|
|
@@ -2938,6 +2938,7 @@
|
|
break;
|
|
}
|
|
if (rv < 0) {
|
|
+ int rv2 = 0;
|
|
int32_t opened_stream_id = 0;
|
|
uint32_t error_code = NGHTTP2_INTERNAL_ERROR;
|
|
|
|
@@ -2982,19 +2983,19 @@
|
|
}
|
|
if (opened_stream_id) {
|
|
/* careful not to override rv */
|
|
- int rv2;
|
|
rv2 = nghttp2_session_close_stream(session, opened_stream_id,
|
|
error_code);
|
|
|
|
- if (nghttp2_is_fatal(rv2)) {
|
|
- return rv2;
|
|
- }
|
|
}
|
|
|
|
nghttp2_outbound_item_free(item, mem);
|
|
nghttp2_mem_free(mem, item);
|
|
active_outbound_item_reset(aob, mem);
|
|
|
|
+ if (nghttp2_is_fatal(rv2)) {
|
|
+ return rv2;
|
|
+ }
|
|
+
|
|
if (rv == NGHTTP2_ERR_HEADER_COMP) {
|
|
/* If header compression error occurred, should terminiate
|
|
connection. */
|