From: Daniel Stenberg Date: Mon, 26 Aug 2019 14:00:05 +0000 (+0200) Subject: http2: when marked for closure and wanted to close == OK X-Git-Tag: curl-7_66_0~40 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c1b6a384f9c8a91197c20adb49d43f30dc0e917d;p=curl http2: when marked for closure and wanted to close == OK It could otherwise return an error even when closed correctly if GOAWAY had been received previously. Reported-by: Tom van der Woerdt Fixes #4267 Closes #4268 --- diff --git a/lib/http2.c b/lib/http2.c index 930e85165..31d2d698a 100644 --- a/lib/http2.c +++ b/lib/http2.c @@ -1559,6 +1559,11 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex, if(should_close_session(httpc)) { H2BUGF(infof(data, "http2_recv: nothing to do in this session\n")); + if(conn->bits.close) { + /* already marked for closure, return OK and we're done */ + *err = CURLE_OK; + return 0; + } *err = CURLE_HTTP2; return -1; }