aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2026-03-06 14:43:19 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2026-03-06 14:43:19 -0500
commit6b691c8fd1c76207470c69bfd672e5aa5260e4c2 (patch)
tree66f869865fd1bf12d8fb5b401dad33d91eef7b4e /src
parentce5f644a0e591b056d0a75ba18728f7b989ad3f7 (diff)
downloadstasis-6b691c8fd1c76207470c69bfd672e5aa5260e4c2.tar.gz
Fix segfault if repository_info_tag was NULL
* Tag is version otherwise
Diffstat (limited to 'src')
-rw-r--r--src/lib/delivery/delivery_build.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/delivery/delivery_build.c b/src/lib/delivery/delivery_build.c
index f2e6850..86555bd 100644
--- a/src/lib/delivery/delivery_build.c
+++ b/src/lib/delivery/delivery_build.c
@@ -26,8 +26,8 @@ int delivery_build_recipes(struct Delivery *ctx) {
char recipe_git_rev[PATH_MAX];
char tag[100];
- const int is_long_tag = num_chars(ctx->tests[i].repository_info_tag, '-') > 1;
if (ctx->tests[i].repository_info_tag) {
+ const int is_long_tag = num_chars(ctx->tests[i].repository_info_tag, '-') > 1;
if (is_long_tag) {
const size_t len = strcspn(ctx->tests[i].repository_info_tag, "-");
strncpy(tag, ctx->tests[i].repository_info_tag, len);
@@ -36,13 +36,15 @@ int delivery_build_recipes(struct Delivery *ctx) {
strcpy(tag, ctx->tests[i].repository_info_tag);
tag[strlen(ctx->tests[i].repository_info_tag)] = '\0';
}
- }
+ } else {
+ strcpy(tag, ctx->tests[i].version);
+ }
//sprintf(recipe_version, "{%% set version = GIT_DESCRIBE_TAG ~ \".dev\" ~ GIT_DESCRIBE_NUMBER ~ \"+\" ~ GIT_DESCRIBE_HASH %%}");
//sprintf(recipe_git_url, " git_url: %s", ctx->tests[i].repository);
//sprintf(recipe_git_rev, " git_rev: %s", ctx->tests[i].version);
// TODO: Conditionally download archives if github.com is the origin. Else, use raw git_* keys ^^^
- sprintf(recipe_version, "{%% set version = \"%s\" %%}", strlen(tag) ? tag : ctx->tests[i].version);
+ sprintf(recipe_version, "{%% set version = \"%s\" %%}", tag);
sprintf(recipe_git_url, " url: %s/archive/refs/tags/{{ version }}.tar.gz", ctx->tests[i].repository);
strcpy(recipe_git_rev, "");
sprintf(recipe_buildno, " number: 0");