[Scummvm-git-logs] scummvm master -> d7ada7488b686e67394d75018299edbaad669547

sev- noreply at scummvm.org
Fri Aug 4 14:35:27 UTC 2023


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
05a4989bb5 CLOUD: Fix memleak due to addedRequests not being cleared
d7ada7488b CLOUD: Fix memleak in CurlRequest


Commit: 05a4989bb594fc18bdf3fd26252f0766d43207ea
    https://github.com/scummvm/scummvm/commit/05a4989bb594fc18bdf3fd26252f0766d43207ea
Author: hax0kartik (agarwala.kartik at gmail.com)
Date: 2023-08-04T16:35:21+02:00

Commit Message:
CLOUD: Fix memleak due to addedRequests not being cleared

Changed paths:
    backends/networking/curl/connectionmanager.cpp


diff --git a/backends/networking/curl/connectionmanager.cpp b/backends/networking/curl/connectionmanager.cpp
index 230d6a007ef..66419094048 100644
--- a/backends/networking/curl/connectionmanager.cpp
+++ b/backends/networking/curl/connectionmanager.cpp
@@ -45,6 +45,20 @@ ConnectionManager::ConnectionManager(): _multi(nullptr), _timerStarted(false), _
 ConnectionManager::~ConnectionManager() {
 	stopTimer();
 
+	//terminate all added requests which haven't been processed yet
+	_addedRequestsMutex.lock();
+	for (Common::Array<RequestWithCallback>::iterator i = _addedRequests.begin(); i != _addedRequests.end(); ++i) {
+		Request *request = i->request;
+		RequestCallback callback = i->onDeleteCallback;
+		if (request)
+			request->finish();
+		delete request;
+		if (callback)
+			(*callback)(request);
+	}
+	_addedRequests.clear();
+	_addedRequestsMutex.unlock();
+
 	//terminate all requests
 	_handleMutex.lock();
 	for (Common::Array<RequestWithCallback>::iterator i = _requests.begin(); i != _requests.end(); ++i) {


Commit: d7ada7488b686e67394d75018299edbaad669547
    https://github.com/scummvm/scummvm/commit/d7ada7488b686e67394d75018299edbaad669547
Author: hax0kartik (agarwala.kartik at gmail.com)
Date: 2023-08-04T16:35:21+02:00

Commit Message:
CLOUD: Fix memleak in CurlRequest

Changed paths:
    backends/networking/curl/curlrequest.cpp


diff --git a/backends/networking/curl/curlrequest.cpp b/backends/networking/curl/curlrequest.cpp
index e98b0d47621..a0a74b0c41c 100644
--- a/backends/networking/curl/curlrequest.cpp
+++ b/backends/networking/curl/curlrequest.cpp
@@ -34,6 +34,7 @@ CurlRequest::CurlRequest(DataCallback cb, ErrorCallback ecb, Common::String url)
 	_bytesBufferSize(0), _uploading(false), _usingPatch(false), _keepAlive(false), _keepAliveIdle(120), _keepAliveInterval(60) {}
 
 CurlRequest::~CurlRequest() {
+	curl_slist_free_all(_headersList);
 	delete _stream;
 	delete[] _bytesBuffer;
 }




More information about the Scummvm-git-logs mailing list