From 649c5c7259a5a8c95041ca8da9fdd9d4427ca5b7 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Mon, 6 Apr 2026 19:00:24 -0400 Subject: Free platform array by length --- src/lib/core/include/core_mem.h | 7 +++++++ src/lib/delivery/delivery.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/core/include/core_mem.h b/src/lib/core/include/core_mem.h index dd79e72..b67130c 100644 --- a/src/lib/core/include/core_mem.h +++ b/src/lib/core/include/core_mem.h @@ -22,4 +22,11 @@ guard_free(ARR); \ } while (0) +#define guard_array_n_free(ARR, LEN) do { \ + for (size_t ARR_I = 0; ARR && ARR_I < LEN ; ARR_I++) { \ + guard_free(ARR[ARR_I]); \ + } \ + guard_free(ARR); \ +} while (0) + #endif //STASIS_CORE_MEM_H diff --git a/src/lib/delivery/delivery.c b/src/lib/delivery/delivery.c index bba91fd..11dd7b0 100644 --- a/src/lib/delivery/delivery.c +++ b/src/lib/delivery/delivery.c @@ -175,7 +175,7 @@ struct Delivery *delivery_duplicate(const struct Delivery *ctx) { void delivery_free(struct Delivery *ctx) { guard_free(ctx->system.arch); - guard_array_free(ctx->system.platform); + guard_array_n_free(ctx->system.platform, DELIVERY_PLATFORM_MAX); guard_free(ctx->meta.name); guard_free(ctx->meta.version); guard_free(ctx->meta.codename); -- cgit