summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2018-08-26 15:46:03 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2018-08-26 15:46:03 +0100
commit935be21bfb31ed55ec52664a59f13c21829ae024 (patch)
tree02270939126bf00a99894177ee16e2f1704f05e7
parent6d8c71f6e6d79ec9185bb42c75d1117add142256 (diff)
downloadlibnslog-935be21bfb31ed55ec52664a59f13c21829ae024.tar.gz
libnslog-935be21bfb31ed55ec52664a59f13c21829ae024.tar.bz2
Hopefully shut openbsd up a bit
-rw-r--r--src/core.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/core.c b/src/core.c
index 15cb79a..48ea5aa 100644
--- a/src/core.c
+++ b/src/core.c
@@ -59,11 +59,10 @@ static void nslog__normalise_category(nslog_category_t *cat)
cat->namelen = strlen(cat->name);
} else {
nslog__normalise_category(cat->parent);
- cat->name = malloc(strlen(cat->parent->name) + strlen(cat->cat_name) + 2);
- strcpy(cat->name, cat->parent->name);
- strcat(cat->name, "/");
- strcat(cat->name, cat->cat_name);
- cat->namelen = strlen(cat->name);
+ int bufsz = strlen(cat->parent->name) + strlen(cat->cat_name) + 2 /* a slash and a NUL */;
+ cat->name = malloc(bufsz);
+ snprintf(cat->name, bufsz, "%s/%s", cat->parent->name, cat->cat_name);
+ cat->namelen = bufsz - 1;
}
cat->next = nslog__all_categories;
nslog__all_categories = cat;