[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