diff --git a/lib/curl_share.c b/lib/curl_share.c index 94469bc3ef..0b4ee9e367 100644 --- a/lib/curl_share.c +++ b/lib/curl_share.c @@ -61,7 +61,7 @@ static void share_destroy(struct Curl_share *share) #ifdef USE_MUTEX Curl_mutex_destroy(&share->lock); #endif - share->magic = 0; + curlx_memzero(share, sizeof(*share)); curlx_free(share); } diff --git a/lib/multi.c b/lib/multi.c index d0fa68ab4c..772116e9f5 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -3043,6 +3043,7 @@ CURLMcode curl_multi_cleanup(CURLM *m) Curl_uint32_bset_destroy(&multi->pending); Curl_uint32_bset_destroy(&multi->msgsent); Curl_uint32_tbl_destroy(&multi->xfers); + curlx_memzero(multi, sizeof(*multi)); curlx_free(multi); return CURLM_OK; diff --git a/lib/url.c b/lib/url.c index 3b0663515b..0ce9639c0e 100644 --- a/lib/url.c +++ b/lib/url.c @@ -315,6 +315,7 @@ CURLcode Curl_close(struct Curl_easy **datap) #ifndef CURL_DISABLE_PROXY Curl_ssl_config_cleanup(&data->set.proxy_ssl.primary); #endif + curlx_memzero(data, sizeof(*data)); curlx_free(data); return CURLE_OK; }