aboutsummaryrefslogtreecommitdiff
path: root/snag
diff options
context:
space:
mode:
authorJack Jamison <jackqjamison@gmail.com>2026-07-31 00:08:11 -0400
committerJack Jamison <jackqjamison@gmail.com>2026-07-31 00:08:11 -0400
commit011cd7ffdb48b1cf66c7c9e250e7cd134d38c764 (patch)
treeeb955af0af7a390a9725ea449a21a6d59eeb3a7b /snag
parenta52e6baeaad60459a37c6e2c4a6ebd507ffcae83 (diff)
fix "overflow" (my fault)HEADmaster
Diffstat (limited to 'snag')
-rw-r--r--snag/src/util.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/snag/src/util.c b/snag/src/util.c
index 025e583..ab0b7e6 100644
--- a/snag/src/util.c
+++ b/snag/src/util.c
@@ -101,14 +101,19 @@ char* join_path_(int dummy, ...) {
int i = 0;
while ((arg = va_arg(args, char*))) {
if (i > 0) len += 1;
- len += strlen(arg) + 1;
+ len += strlen(arg);
++i;
}
va_end(args);
- // allocate and build output
+ // allocate output string
char* output = malloc(len + 1);
- if (!output) return NULL;
+ if (!output) {
+ va_end(args2);
+ return NULL;
+ }
+
+ // build output string
char* p = output;
while ((arg = va_arg(args2, char*))) {
if (p != output) {