From a385821780804b558ae18aec820d127e4144fafd Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Thu, 11 Apr 2024 12:08:04 +0300 Subject: [PATCH] Fix an ancient memleak on %caps() parsing, add tests Conflict:don't modify tests because the test case depends on the gcc. Reference:https://github.com/rpm-software-management/rpm/commit/a385821780804b558ae18aec820d127e4144fafd This leak has been there ever since rpm 4.7.0, so pretty close to 15 years. ASAN would've caught it, if it had it been tested. Oops. Of course, in the fakechroot era we couldn't have tested installation but we could've at least tested the parsing side. Add tests for parsing, query and install functionality, and fix the leak that is now very visible. --- build/files.c | 1 + 1 file changed, 1 insertion(+) diff --git a/build/files.c b/build/files.c index 14e4c55ef..b059458a1 100644 --- a/build/files.c +++ b/build/files.c @@ -228,6 +228,7 @@ static void copyFileEntry(FileEntry src, FileEntry dest) static void FileEntryFree(FileEntry entry) { argvFree(entry->langs); + free(entry->caps); memset(entry, 0, sizeof(*entry)); } -- 2.33.0