summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dransfeld <sebastian.dransfeld@sintef.no>2013-10-14 13:21:48 +0200
committerSebastian Dransfeld <sebastian.dransfeld@sintef.no>2013-10-14 13:21:48 +0200
commit76721f415368b45d2d780e44faaf8b57a0b468e9 (patch)
tree3579608186e9d4a87815433c8d2194b8de79b9e7
parente2dabc5d23c60a9faa79b4c5357da2a944c5272f (diff)
downloadefl-76721f415368b45d2d780e44faaf8b57a0b468e9.tar.gz
efreet: Check buffer size
CID 1039582, 1039583
-rw-r--r--src/lib/efreet/efreet_menu.c10
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);