From 76721f415368b45d2d780e44faaf8b57a0b468e9 Mon Sep 17 00:00:00 2001 From: Sebastian Dransfeld Date: Mon, 14 Oct 2013 13:21:48 +0200 Subject: [PATCH] efreet: Check buffer size CID 1039582, 1039583 --- src/lib/efreet/efreet_menu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/efreet/efreet_menu.c b/src/lib/efreet/efreet_menu.c index 739e9c188a..b6103eba6e 100644 --- a/src/lib/efreet/efreet_menu.c +++ b/src/lib/efreet/efreet_menu.c @@ -3177,7 +3177,10 @@ efreet_menu_app_dir_scan(Efreet_Menu_Internal *internal, const char *path, const if (id) snprintf(buf2, sizeof(buf2), "%s-%s", id, fname); else - strcpy(buf2, fname); + { + strncpy(buf2, fname, PATH_MAX); + buf2[PATH_MAX - 1] = '\0'; + } if (info->type == EINA_FILE_DIR) { @@ -3285,7 +3288,10 @@ efreet_menu_directory_dir_scan(const char *path, const char *relative_path, if (relative_path) snprintf(buf2, sizeof(buf2), "%s/%s", relative_path, fname); else - strcpy(buf2, fname); + { + strncpy(buf2, fname, PATH_MAX); + buf2[PATH_MAX - 1] = '\0'; + } if (info->type == EINA_FILE_DIR) efreet_menu_directory_dir_scan(info->path, buf2, cache);