diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2026-04-06 15:54:13 -0400 |
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2026-04-06 15:54:13 -0400 |
| commit | 892c7be82b8e1d9c38c6bd3441221df016ea4f99 (patch) | |
| tree | 2012fd90919a467069803724b389319ab4a53afb /src/lib | |
| parent | a9c76ed1998ca686ed1ad60573451eacf0350bf7 (diff) | |
| download | stasis-892c7be82b8e1d9c38c6bd3441221df016ea4f99.tar.gz | |
Only free when allocated
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/delivery/delivery.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/delivery/delivery.c b/src/lib/delivery/delivery.c index 4409e69..bba91fd 100644 --- a/src/lib/delivery/delivery.c +++ b/src/lib/delivery/delivery.c @@ -153,7 +153,7 @@ struct Delivery *delivery_duplicate(const struct Delivery *ctx) { result->deploy.jfrog_auth.url = strdup_maybe(ctx->deploy.jfrog_auth.url); result->deploy.jfrog_auth.user = strdup_maybe(ctx->deploy.jfrog_auth.user); - for (size_t i = 0; i < result->tests->num_used; i++) { + for (size_t i = 0; result->tests && i < result->tests->num_used; i++) { result->tests->test[i]->disable = ctx->tests->test[i]->disable; result->tests->test[i]->parallel = ctx->tests->test[i]->parallel; result->tests->test[i]->build_recipe = strdup_maybe(ctx->tests->test[i]->build_recipe); @@ -230,7 +230,7 @@ void delivery_free(struct Delivery *ctx) { guard_strlist_free(&ctx->conda.pip_packages_purge); guard_strlist_free(&ctx->conda.wheels_packages); - for (size_t i = 0; i < ctx->tests->num_used; i++) { + for (size_t i = 0; ctx->tests && i < ctx->tests->num_used; i++) { guard_free(ctx->tests->test[i]->name); guard_free(ctx->tests->test[i]->version); guard_free(ctx->tests->test[i]->repository); @@ -245,8 +245,10 @@ void delivery_free(struct Delivery *ctx) { guard_free(ctx->tests->test[i]->runtime); guard_free(ctx->tests->test[i]); } - guard_free(ctx->tests->test); - guard_free(ctx->tests); + if (ctx->tests) { + guard_free(ctx->tests->test); + guard_free(ctx->tests); + } guard_free(ctx->rules.release_fmt); guard_free(ctx->rules.build_name_fmt); |
