diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2018-08-26 15:46:03 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2018-08-26 15:46:03 +0100 |
commit | 935be21bfb31ed55ec52664a59f13c21829ae024 (patch) | |
tree | 02270939126bf00a99894177ee16e2f1704f05e7 | |
parent | 6d8c71f6e6d79ec9185bb42c75d1117add142256 (diff) | |
download | libnslog-935be21bfb31ed55ec52664a59f13c21829ae024.tar.gz libnslog-935be21bfb31ed55ec52664a59f13c21829ae024.tar.bz2 |
Hopefully shut openbsd up a bit
-rw-r--r-- | src/core.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -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; |