From 8dd0cb73a29e86fe4b66491df33a0a06994d8d55 Mon Sep 17 00:00:00 2001 From: Eric Norris Date: Mon, 26 Aug 2024 15:13:46 -0400 Subject: [PATCH] share: don't reinitialize conncache Before this change, calling curl_share_setopt w/ CURL_LOCK_DATA_CONNECT a second time would re-initialize the connection cache, rather than use the existing one. After this change, calling curl_share_setopt w/ CURL_LOCK_DATA_CONNECT multiple times will have no effect after the first call. Closes #14696 --- lib/share.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/share.c b/lib/share.c index 3d0c2f5e45..9e83452a47 100644 --- a/lib/share.c +++ b/lib/share.c @@ -120,8 +120,11 @@ curl_share_setopt(struct Curl_share *share, CURLSHoption option, ...) break; case CURL_LOCK_DATA_CONNECT: - if(Curl_conncache_init(&share->conn_cache, NULL, 103)) - res = CURLSHE_NOMEM; + if(!share->conn_cache.hash.table) { + if(Curl_conncache_init(&share->conn_cache, NULL, 103)) { + res = CURLSHE_NOMEM; + } + } break; case CURL_LOCK_DATA_PSL: