diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2026-05-12 10:43:17 -0400 |
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2026-05-12 10:43:17 -0400 |
| commit | 6d6a6a1c25672b69ed80985b54a5fd8da2125751 (patch) | |
| tree | d293ef3732861506b16ccc4812078b4b6c65b6d3 /src | |
| parent | c96bee4c1e34fb80453a79ba455ff9eb1c72b6c5 (diff) | |
| download | stasis-6d6a6a1c25672b69ed80985b54a5fd8da2125751.tar.gz | |
free platform array on error
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/delivery/delivery_init.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/delivery/delivery_init.c b/src/lib/delivery/delivery_init.c index 48124c2..5bc326d 100644 --- a/src/lib/delivery/delivery_init.c +++ b/src/lib/delivery/delivery_init.c @@ -203,6 +203,7 @@ int delivery_init_platform(struct Delivery *ctx) { ctx->system.platform[i] = calloc(DELIVERY_PLATFORM_MAXLEN, sizeof(*ctx->system.platform[0])); if (!ctx->system.platform[i]) { SYSERROR("Unable to allocate record %zu in platform array", i); + guard_array_n_free(ctx->system.platform, i); return -1; } } @@ -210,6 +211,8 @@ int delivery_init_platform(struct Delivery *ctx) { ctx->system.arch = strdup(uts.machine); if (!ctx->system.arch) { // memory error + guard_array_n_free(ctx->system.platform, DELIVERY_PLATFORM_MAX); + ctx->system.platform = NULL; return -1; } |
