From f05fd4da2ba45711898fbe41a25c153c223f134f Mon Sep 17 00:00:00 2001 From: Trial97 Date: Sun, 14 Dec 2025 00:20:24 +0200 Subject: [PATCH] fix leak of cloned entry Signed-off-by: Trial97 --- launcher/archive/ArchiveReader.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/launcher/archive/ArchiveReader.cpp b/launcher/archive/ArchiveReader.cpp index 26ea9840f..a735a68e2 100644 --- a/launcher/archive/ArchiveReader.cpp +++ b/launcher/archive/ArchiveReader.cpp @@ -23,6 +23,7 @@ #include #include #include +#include namespace MMCZip { QStringList ArchiveReader::getFiles() @@ -130,8 +131,10 @@ static int copy_data(struct archive* ar, struct archive* aw, bool notBlock = fal bool ArchiveReader::File::writeFile(archive* out, QString targetFileName, bool notBlock) { auto entry = m_entry; + std::unique_ptr entryClone(nullptr, &archive_entry_free); if (!targetFileName.isEmpty()) { - entry = archive_entry_clone(m_entry); + entryClone.reset(archive_entry_clone(m_entry)); + entry = entryClone.get(); auto nameUtf8 = targetFileName.toUtf8(); archive_entry_set_pathname(entry, nameUtf8.constData()); }