From e43a5cebca4f4b4d047c2b539464079e61789d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Kera=CC=88nen?= Date: Sun, 15 Sep 2019 12:47:25 +0300 Subject: [PATCH] Fixed|FS: Potential crash at disconnect from server Double deletion of the remote files folder. --- doomsday/libs/core/src/filesys/remote/link.cpp | 2 +- doomsday/libs/core/src/net/packagedownloader.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/doomsday/libs/core/src/filesys/remote/link.cpp b/doomsday/libs/core/src/filesys/remote/link.cpp index 77e7021f37..10634a9f75 100644 --- a/doomsday/libs/core/src/filesys/remote/link.cpp +++ b/doomsday/libs/core/src/filesys/remote/link.cpp @@ -183,7 +183,7 @@ void Link::wasDisconnected() // Remove the local root folder. if (Folder *root = FS::tryLocate(d->localRootPath)) { - trash(root); + delete root; //trash(root); } } diff --git a/doomsday/libs/core/src/net/packagedownloader.cpp b/doomsday/libs/core/src/net/packagedownloader.cpp index e48bcf7360..4cecbc5666 100644 --- a/doomsday/libs/core/src/net/packagedownloader.cpp +++ b/doomsday/libs/core/src/net/packagedownloader.cpp @@ -48,7 +48,7 @@ DE_PIMPL(PackageDownloader) AssetGroup downloads; Hash downloadBytes; std::function postDownloadCallback; - Dispatch deferred; + Dispatch deferred; Impl(Public *i) : Base(i) {} @@ -302,7 +302,8 @@ void PackageDownloader::unmountServerRepository() if (Folder *remoteFiles = FS::tryLocate(PATH_REMOTE_SERVER)) { - trash(remoteFiles); +// trash(remoteFiles); + delete remoteFiles; } }