mirror of
https://github.com/curl/curl.git
synced 2024-12-21 06:50:10 +08:00
nss: handshake callback during shutdown has no conn->bundle
The callback gets called because of the call to PR_Recv() done to attempt to avoid RST on the TCP connection. The conn->bundle pointer is already cleared at this point so avoid dereferencing it. Reported-by: Eric Musser Fixes #8341 Closes #8342
This commit is contained in:
parent
df66c7c5ba
commit
3267ac40da
@ -882,6 +882,12 @@ static void HandshakeCallback(PRFileDesc *sock, void *arg)
|
||||
!memcmp(ALPN_HTTP_1_1, buf, ALPN_HTTP_1_1_LENGTH)) {
|
||||
conn->negnpn = CURL_HTTP_VERSION_1_1;
|
||||
}
|
||||
|
||||
/* This callback might get called when PR_Recv() is used within
|
||||
* close_one() during a connection shutdown. At that point there might not
|
||||
* be any "bundle" associated with the connection anymore.
|
||||
*/
|
||||
if(conn->bundle)
|
||||
Curl_multiuse_state(data, conn->negnpn == CURL_HTTP_VERSION_2 ?
|
||||
BUNDLE_MULTIPLEX : BUNDLE_NO_MULTIUSE);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user