aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2025-04-08 11:05:39 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2025-04-08 11:05:39 -0400
commit9abde809187b88f66e82ec6106b2d03ccbb4d57d (patch)
treeafec9206c72a829603771dbe530ee60f3ca8d8a5
parent90755c85131cceb9f6d628703042129dc10dfca9 (diff)
downloadstasis-9abde809187b88f66e82ec6106b2d03ccbb4d57d.tar.gz
Bug fix: Prevents garbage at the end of generated release notes
-rw-r--r--src/lib/core/github.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/core/github.c b/src/lib/core/github.c
index c195a28..f0c5199 100644
--- a/src/lib/core/github.c
+++ b/src/lib/core/github.c
@@ -109,9 +109,12 @@ int get_github_release_notes(const char *api_token, const char *repo, const char
if (last_char == ',') {
trim++;
}
- data_offset[strlen(data_offset) - trim] = 0;
+ // Truncate the trimmed bytes
+ memset(&data_offset[strlen(data_offset) - trim], 0, trim);
// Extract release notes
- *output = strdup(data_offset);
+ *output = calloc(strlen(data_offset) + 1, sizeof(**output));
+ // Copy output (including terminator)
+ strncpy(*output, data_offset, strlen(data_offset) + 1);
} else if ((data_offset = strstr(line, field_message))) {
// Skip past the message field
data_offset += strlen(field_message);