aboutsummaryrefslogtreecommitdiff
path: root/src/lib/delivery
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2026-04-06 15:54:13 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2026-04-06 15:54:13 -0400
commit892c7be82b8e1d9c38c6bd3441221df016ea4f99 (patch)
tree2012fd90919a467069803724b389319ab4a53afb /src/lib/delivery
parenta9c76ed1998ca686ed1ad60573451eacf0350bf7 (diff)
downloadstasis-892c7be82b8e1d9c38c6bd3441221df016ea4f99.tar.gz
Only free when allocated
Diffstat (limited to 'src/lib/delivery')
-rw-r--r--src/lib/delivery/delivery.c10
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);