efreet: Check size of buffer and '\0' terminate
authorSebastian Dransfeld <sebastian.dransfeld@sintef.no>
Mon, 14 Oct 2013 11:07:43 +0000 (13:07 +0200)
committerSebastian Dransfeld <sebastian.dransfeld@sintef.no>
Mon, 14 Oct 2013 11:14:59 +0000 (13:14 +0200)
CID 1039595

src/bin/efreet/efreet_desktop_cache_create.c

index 4a25575..577091f 100644 (file)
@@ -152,7 +152,10 @@ cache_scan(const char *path, const char *base_id, int priority, int recurse, int
             if (*base_id)
                 snprintf(id, sizeof(id), "%s-%s", base_id, fname);
             else
-                strcpy(id, fname);
+            {
+                strncpy(id, fname, PATH_MAX);
+                id[PATH_MAX - 1] = '\0';
+            }
             file_id = id;
         }