diff options
author | Sebastian Dransfeld <sebastian.dransfeld@sintef.no> | 2013-10-14 13:21:48 +0200 |
---|---|---|
committer | Sebastian Dransfeld <sebastian.dransfeld@sintef.no> | 2013-10-14 13:21:48 +0200 |
commit | 76721f415368b45d2d780e44faaf8b57a0b468e9 (patch) | |
tree | 3579608186e9d4a87815433c8d2194b8de79b9e7 | |
parent | e2dabc5d23c60a9faa79b4c5357da2a944c5272f (diff) | |
download | efl-76721f415368b45d2d780e44faaf8b57a0b468e9.tar.gz |
efreet: Check buffer size
CID 1039582, 1039583
-rw-r--r-- | src/lib/efreet/efreet_menu.c | 10 |
1 files 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); |