Projects
openEuler:24.03:SP1:Everything
curl
_service:tar_scm:backport-multi-avoid-memory-le...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-multi-avoid-memory-leak-risk.patch of Package curl
From 3572dd65bb233fc2720634804312192e3bdf4adf Mon Sep 17 00:00:00 2001 From: Daniel Stenberg <daniel@haxx.se> Date: Thu, 25 Apr 2024 09:52:51 +0200 Subject: [PATCH] multi: avoid memory-leak risk 'newurl' is allocated in some conditions and used in a few scenarios, but there were theoretical combinations in which it would not get freed. Move the free to happen unconditionally. Never triggered by tests, but spotted by Coverity. Closes #13471 Conflict:Context adapt Reference:https://github.com/curl/curl/commit/3572dd65bb233fc2720634804312192e3bdf4adf --- lib/multi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/multi.c b/lib/multi.c index fb98d80639f3b7..7e7590d60f8bcb 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -2530,7 +2530,6 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, multistate(data, MSTATE_CONNECT); rc = CURLM_CALL_MULTI_PERFORM; } - free(newurl); } else { /* after the transfer is done, go DONE */ @@ -2542,7 +2541,6 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, newurl = data->req.location; data->req.location = NULL; result = Curl_follow(data, newurl, FOLLOW_FAKE); - free(newurl); if(result) { stream_error = TRUE; result = multi_done(data, result, TRUE); @@ -2561,6 +2559,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, transfers */ Curl_expire(data, 0, EXPIRE_RUN_NOW); } + free(newurl); break; }
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2