englebass pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=76721f415368b45d2d780e44faaf8b57a0b468e9

commit 76721f415368b45d2d780e44faaf8b57a0b468e9
Author: Sebastian Dransfeld <sebastian.dransf...@sintef.no>
Date:   Mon Oct 14 13:21:48 2013 +0200

    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 739e9c1..b6103eb 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);

-- 


Reply via email to