From 37bcb4f093db38f4168f1a855e2f5e9556c89d0f Mon Sep 17 00:00:00 2001 From: libretroadmin Date: Sun, 16 Jun 2024 14:52:26 +0200 Subject: [PATCH] Replace some strlcat usage with strlcpy --- menu/drivers/ozone.c | 18 +++++++++--------- menu/drivers/xmb.c | 16 ++++++++-------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/menu/drivers/ozone.c b/menu/drivers/ozone.c index fd97b393da..dea1efd67e 100644 --- a/menu/drivers/ozone.c +++ b/menu/drivers/ozone.c @@ -4902,7 +4902,7 @@ static void ozone_context_reset_horizontal_list(ozone_handle_t *ozone) if (string_ends_with_size(path, ".lpl", strlen(path), STRLEN_CONST(".lpl"))) { - size_t len; + size_t len, syslen; struct texture_image ti; char sysname[PATH_MAX_LENGTH]; char texturepath[PATH_MAX_LENGTH]; @@ -4911,14 +4911,14 @@ static void ozone_context_reset_horizontal_list(ozone_handle_t *ozone) /* Add current node to playlist database name map */ RHMAP_SET_STR(ozone->playlist_db_node_map, path, node); - len = fill_pathname_base( - sysname, path, sizeof(sysname)); + syslen = fill_pathname_base(sysname, path, sizeof(sysname)); /* Manually strip the extension (and dot) from sysname */ - sysname[len-4] = - sysname[len-3] = - sysname[len-2] = - sysname[len-1] = '\0'; - len = fill_pathname_join_special(texturepath, + sysname[syslen-4] = + sysname[syslen-3] = + sysname[syslen-2] = + sysname[syslen-1] = '\0'; + syslen -= 4; + len = fill_pathname_join_special(texturepath, ozone->icons_path, sysname, sizeof(texturepath)); texturepath[ len] = '.'; @@ -4957,7 +4957,7 @@ static void ozone_context_reset_horizontal_list(ozone_handle_t *ozone) image_texture_free(&ti); } - strlcat(sysname, "-content.png", sizeof(sysname)); + strlcpy(sysname + syslen, "-content.png", sizeof(sysname) - syslen); /* Assemble new icon path */ fill_pathname_join_special( content_texturepath, ozone->icons_path, sysname, diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 4f291e3c94..3c8fe14ca5 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2457,7 +2457,7 @@ static void xmb_context_reset_horizontal_list(xmb_handle_t *xmb) if (string_ends_with_size(path, ".lpl", strlen(path), STRLEN_CONST(".lpl"))) { - size_t len; + size_t len, syslen; struct texture_image ti; char sysname[PATH_MAX_LENGTH]; char texturepath[PATH_MAX_LENGTH]; @@ -2467,13 +2467,13 @@ static void xmb_context_reset_horizontal_list(xmb_handle_t *xmb) /* Add current node to playlist database name map */ RHMAP_SET_STR(xmb->playlist_db_node_map, path, node); - len = fill_pathname_base(sysname, path, sizeof(sysname)); + syslen = fill_pathname_base(sysname, path, sizeof(sysname)); /* Manually strip the extension (and dot) from sysname */ - sysname[len-4] = - sysname[len-3] = - sysname[len-2] = - sysname[len-1] = '\0'; - + sysname[syslen-4] = + sysname[syslen-3] = + sysname[syslen-2] = + sysname[syslen-1] = '\0'; + syslen -= 4; len = fill_pathname_join_special(texturepath, iconpath, sysname, sizeof(texturepath)); texturepath[ len] = '.'; @@ -2510,7 +2510,7 @@ static void xmb_context_reset_horizontal_list(xmb_handle_t *xmb) image_texture_free(&ti); } - strlcat(sysname, "-content.png", sizeof(sysname)); + strlcpy(sysname + syslen, "-content.png", sizeof(sysname) - syslen); /* Assemble new icon path */ fill_pathname_join_special(content_texturepath, iconpath, sysname, sizeof(content_texturepath));