diff options
author | Harry Sintonen <sintonen@iki.fi> | 2021-05-05 13:42:26 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2021-05-24 13:15:10 +0200 |
commit | 7f4a9a9b2a49547eae24d2e19bc5c346e9026479 (patch) | |
tree | fa0a54b9a525d5aa863270ff4edb893553ea75d2 /lib/multi.c | |
parent | 39ce47f219b09c380b81f89fe54ac586c8db6bde (diff) | |
download | curl-7f4a9a9b2a49547eae24d2e19bc5c346e9026479.tar.gz |
openssl: associate/detach the transfer from connection
CVE-2021-22901
Bug: https://curl.se/docs/CVE-2021-22901.html
Diffstat (limited to 'lib/multi.c')
-rw-r--r-- | lib/multi.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/multi.c b/lib/multi.c index 54365f399..1b3e261c6 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -878,8 +878,10 @@ bool Curl_multiplex_wanted(const struct Curl_multi *multi) void Curl_detach_connnection(struct Curl_easy *data) { struct connectdata *conn = data->conn; - if(conn) + if(conn) { Curl_llist_remove(&conn->easyq, &data->conn_queue, NULL); + Curl_ssl_detach_conn(data, conn); + } data->conn = NULL; } @@ -898,6 +900,7 @@ void Curl_attach_connnection(struct Curl_easy *data, &data->conn_queue); if(conn->handler->attach) conn->handler->attach(data, conn); + Curl_ssl_associate_conn(data, conn); } static int waitconnect_getsock(struct connectdata *conn, |