mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-23 12:55:44 +03:00
Fix leaks in tests
As discovered by AddressSanitizer
This commit is contained in:
parent
d1aedcfd3c
commit
640cf0c71e
3 changed files with 12 additions and 9 deletions
|
@ -125,7 +125,8 @@ static int teardown(void **state) {
|
|||
rc = wipe_testdir();
|
||||
assert_int_equal(rc, 0);
|
||||
|
||||
*state = nullptr;
|
||||
SAFE_FREE(((statevar*)*state)->result);
|
||||
SAFE_FREE(*state);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -409,6 +410,8 @@ static void check_readdir_longtree(void **state)
|
|||
assert_int_equal(files_cnt, 0);
|
||||
/* and compare. */
|
||||
assert_string_equal( sv->result, result);
|
||||
|
||||
SAFE_FREE(result);
|
||||
}
|
||||
|
||||
// https://github.com/owncloud/client/issues/3128 https://github.com/owncloud/client/issues/2777
|
||||
|
|
|
@ -248,15 +248,15 @@ private slots:
|
|||
setChunkSize(fakeFolder.syncEngine(), 1 * 1000 * 1000);
|
||||
|
||||
// Make the MOVE never reply, but trigger a client-abort and apply the change remotely
|
||||
auto parent = new QObject;
|
||||
QObject parent;
|
||||
QByteArray moveChecksumHeader;
|
||||
int nGET = 0;
|
||||
int responseDelay = 100000; // bigger than abort-wait timeout
|
||||
fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *) -> QNetworkReply * {
|
||||
if (request.attribute(QNetworkRequest::CustomVerbAttribute) == "MOVE") {
|
||||
QTimer::singleShot(50, parent, [&]() { fakeFolder.syncEngine().abort(); });
|
||||
QTimer::singleShot(50, &parent, [&]() { fakeFolder.syncEngine().abort(); });
|
||||
moveChecksumHeader = request.rawHeader("OC-Checksum");
|
||||
return new DelayedReply<FakeChunkMoveReply>(responseDelay, fakeFolder.uploadState(), fakeFolder.remoteModifier(), op, request, parent);
|
||||
return new DelayedReply<FakeChunkMoveReply>(responseDelay, fakeFolder.uploadState(), fakeFolder.remoteModifier(), op, request, &parent);
|
||||
} else if (op == QNetworkAccessManager::GetOperation) {
|
||||
nGET++;
|
||||
}
|
||||
|
@ -332,12 +332,12 @@ private slots:
|
|||
setChunkSize(fakeFolder.syncEngine(), 1 * 1000 * 1000);
|
||||
|
||||
// Make the MOVE never reply, but trigger a client-abort and apply the change remotely
|
||||
auto parent = new QObject;
|
||||
QObject parent;
|
||||
int responseDelay = 200; // smaller than abort-wait timeout
|
||||
fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *) -> QNetworkReply * {
|
||||
if (request.attribute(QNetworkRequest::CustomVerbAttribute) == "MOVE") {
|
||||
QTimer::singleShot(50, parent, [&]() { fakeFolder.syncEngine().abort(); });
|
||||
return new DelayedReply<FakeChunkMoveReply>(responseDelay, fakeFolder.uploadState(), fakeFolder.remoteModifier(), op, request, parent);
|
||||
QTimer::singleShot(50, &parent, [&]() { fakeFolder.syncEngine().abort(); });
|
||||
return new DelayedReply<FakeChunkMoveReply>(responseDelay, fakeFolder.uploadState(), fakeFolder.remoteModifier(), op, request, &parent);
|
||||
}
|
||||
return nullptr;
|
||||
});
|
||||
|
|
|
@ -439,13 +439,13 @@ private slots:
|
|||
// Produce an error based on upload size
|
||||
int remoteQuota = 1000;
|
||||
int n507 = 0, nPUT = 0;
|
||||
auto parent = new QObject;
|
||||
QObject parent;
|
||||
fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *) -> QNetworkReply * {
|
||||
if (op == QNetworkAccessManager::PutOperation) {
|
||||
nPUT++;
|
||||
if (request.rawHeader("OC-Total-Length").toInt() > remoteQuota) {
|
||||
n507++;
|
||||
return new FakeErrorReply(op, request, parent, 507);
|
||||
return new FakeErrorReply(op, request, &parent, 507);
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
|
|
Loading…
Reference in a new issue