From 7440e617e0c6e8c92dc264a3fb5977c9aba389ac Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 27 Jul 2023 16:26:36 +0200 Subject: [PATCH] add stupid extra checks to see why this code overflows on pentoo... --- client/src/fileutils.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 9ac75890f..a1633844b 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -175,7 +175,7 @@ static char *filenamemcopy(const char *preferredName, const char *suffix) { } static size_t path_size(savePaths_t a) { - if (a == spItemCount) { + if (a >= spItemCount) { return 0; } return strlen(g_session.defaultPaths[a]); @@ -205,9 +205,10 @@ char *newfilenamemcopyEx(const char *preferredName, const char *suffix, savePath // user preference save paths size_t save_path_len = path_size(e_save_path); - if (save_path_len < FILE_PATH_SIZE ) { - snprintf(pfn, len, "%.*s%s", (int)save_path_len, g_session.defaultPaths[e_save_path], PATHSEP); - pfn += save_path_len + strlen(PATHSEP); + if (save_path_len && save_path_len < (FILE_PATH_SIZE - strlen(PATHSEP))) { + snprintf(pfn, len, "%s%s", g_session.defaultPaths[e_save_path], PATHSEP); + pfn += save_path_len; + pfn += strlen(PATHSEP); } // remove file extension if exist in name