fix: free walker-test root path after cleanup (ASan leak)
CI / lint (pull_request) Successful in 31s
CI / sanitizers (address) (pull_request) Successful in 40s
CI / sanitizers (undefined) (pull_request) Successful in 39s
CI / fuzz-build (pull_request) Successful in 18s
CI / coverage (pull_request) Successful in 36s
CI / valgrind (pull_request) Successful in 36s
CI / build-and-test (pull_request) Successful in 10m49s

make_walk_root() roots were removed from disk but never freed, leaking under
the address/valgrind sanitizer jobs.
This commit is contained in:
2026-09-06 22:09:25 +02:00
parent 356b5592e0
commit 5f4c7ce638
+4
View File
@@ -144,6 +144,7 @@ static void test_walker_removes_extras_keeps_manifest_and_protected() {
EXPECT_TRUE(deleted >= 2);
array_list_delete(manifest);
remove_walk_tree(root);
free(root);
}
static void test_walker_max_delete_exceeded_deletes_nothing() {
@@ -164,6 +165,7 @@ static void test_walker_max_delete_exceeded_deletes_nothing() {
EXPECT_TRUE(file_exists(root, "c.txt"));
array_list_delete(manifest);
remove_walk_tree(root);
free(root);
}
static void test_walker_max_delete_exact_bound_deletes() {
@@ -182,6 +184,7 @@ static void test_walker_max_delete_exact_bound_deletes() {
EXPECT_FALSE(file_exists(root, "b.txt"));
array_list_delete(manifest);
remove_walk_tree(root);
free(root);
}
static void test_walker_unlimited_deletes_all() {
@@ -199,6 +202,7 @@ static void test_walker_unlimited_deletes_all() {
EXPECT_FALSE(dir_exists(root, "emptydir"));
array_list_delete(manifest);
remove_walk_tree(root);
free(root);
}
typedef struct {