aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2026-04-06 19:00:24 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2026-04-06 19:00:24 -0400
commit649c5c7259a5a8c95041ca8da9fdd9d4427ca5b7 (patch)
tree6d19e327acb03083909f1d338c50e4d03d6238b4
parentf09ab255c90536831091a53be4760028e50b7d41 (diff)
downloadstasis-649c5c7259a5a8c95041ca8da9fdd9d4427ca5b7.tar.gz
Free platform array by length
-rw-r--r--src/lib/core/include/core_mem.h7
-rw-r--r--src/lib/delivery/delivery.c2
2 files changed, 8 insertions, 1 deletions
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);