From af45bcfa19d93d47c34c0a55dd6ba7c1de4831d3 Mon Sep 17 00:00:00 2001 From: Fufu Fang Date: Tue, 31 Aug 2021 12:31:02 +0100 Subject: [PATCH] replaced strlen with strnlen --- src/link.c | 1 + src/sonic.c | 3 ++- src/util.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/link.c b/src/link.c index 828d463..9d0dfe0 100644 --- a/src/link.c +++ b/src/link.c @@ -37,6 +37,7 @@ static LinkTable *single_LinkTable_new(const char *url) char *ptr = strrchr(url, '/'); int dir_len = ptr - url; char *dir_name = CALLOC(dir_len + 1, sizeof(char)); + free(dir_name); return NULL; } diff --git a/src/sonic.c b/src/sonic.c index 8975217..6cce979 100644 --- a/src/sonic.c +++ b/src/sonic.c @@ -295,7 +295,8 @@ XML_parser_general(void *data, const char *elem, const char **attr) } } - if (!linkname_set && strlen(title) > 0 && strlen(suffix) > 0) { + if (!linkname_set && strnlen(title, MAX_PATH_LEN) > 0 && + strnlen(suffix, MAX_PATH_LEN) > 0) { snprintf(link->linkname, MAX_FILENAME_LEN, "%02d - %s.%s", track, title, suffix); linkname_set = 1; diff --git a/src/util.c b/src/util.c index c60f17e..69ce3b6 100644 --- a/src/util.c +++ b/src/util.c @@ -150,7 +150,7 @@ void FREE(void *ptr) char *str_to_hex(char *s) { - char *hex = CALLOC(strlen(s) * 2 + 1, sizeof(char)); + char *hex = CALLOC(strnlen(s, MAX_PATH_LEN) * 2 + 1, sizeof(char)); for (char *c = s, *h = hex; *c; c++, h += 2) { sprintf(h, "%x", *c); }