From 421903a1379353f07a10deb335ed3c0361233064 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Sun, 26 Apr 2026 01:49:02 -0400 Subject: Fix file handle leaks --- src/cli/stasis_indexer/readmes.c | 1 + src/lib/delivery/delivery_postprocess.c | 1 + tests/test_relocation.c | 3 +++ 3 files changed, 5 insertions(+) diff --git a/src/cli/stasis_indexer/readmes.c b/src/cli/stasis_indexer/readmes.c index 749b1ee..7357fca 100644 --- a/src/cli/stasis_indexer/readmes.c +++ b/src/cli/stasis_indexer/readmes.c @@ -67,6 +67,7 @@ int indexer_readmes(struct Delivery **ctx, const size_t nelem) { latest_deliveries[i]->info.build_number, strstr((*ctx)->rules.release_fmt, "%p") ? latest_deliveries[i]->meta.python_compact : "" ) < 0) { SYSERROR("%s", "Unable to allocate bytes for pattern"); + fclose(indexfp); return -1; } diff --git a/src/lib/delivery/delivery_postprocess.c b/src/lib/delivery/delivery_postprocess.c index 95bcc0a..3ff1d56 100644 --- a/src/lib/delivery/delivery_postprocess.c +++ b/src/lib/delivery/delivery_postprocess.c @@ -243,6 +243,7 @@ int delivery_index_wheel_artifacts(struct Delivery *ctx) { FILE *bottom_fp = fopen(bottom_index, "w+"); if (!bottom_fp) { closedir(dp); + fclose(top_fp); return -3; } diff --git a/tests/test_relocation.c b/tests/test_relocation.c index 3454a69..4a02e01 100644 --- a/tests/test_relocation.c +++ b/tests/test_relocation.c @@ -40,6 +40,7 @@ void test_file_replace_text() { STASIS_ASSERT(file_replace_text(filename, target, "^^^", 0) == 0, "string replacement failed"); } else { STASIS_ASSERT(false, "failed to open file for writing"); + fclose(fp); return; } @@ -48,8 +49,10 @@ void test_file_replace_text() { if (fp) { fread(input, sizeof(*input), sizeof(input), fp); STASIS_ASSERT(strcmp(input, expected) == 0, "unexpected replacement"); + fclose(fp); } else { STASIS_ASSERT(false, "failed to open file for reading"); + fclose(fp); return; } } -- cgit