summaryrefslogtreecommitdiff
path: root/src/bin/efreet/efreetd_cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/efreet/efreetd_cache.c')
-rw-r--r--src/bin/efreet/efreetd_cache.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/bin/efreet/efreetd_cache.c b/src/bin/efreet/efreetd_cache.c
index 94e48f1dda..5b454875b3 100644
--- a/src/bin/efreet/efreetd_cache.c
+++ b/src/bin/efreet/efreetd_cache.c
@@ -268,6 +268,8 @@ icon_changes_listen_recursive(Eina_Inarray *stack, const char *path, Eina_Bool b
268 268
269 if (stat(path, &st) == -1) return; 269 if (stat(path, &st) == -1) return;
270 if (eina_inarray_search(stack, &st, stat_cmp) >= 0) return; 270 if (eina_inarray_search(stack, &st, stat_cmp) >= 0) return;
271 // protect against too deep recursion even if it's valid.
272 if (eina_inarray_count(stack) >= 8) return;
271 eina_inarray_push(stack, &st); 273 eina_inarray_push(stack, &st);
272 274
273 if ((!ecore_file_is_dir(path)) && (base)) 275 if ((!ecore_file_is_dir(path)) && (base))
@@ -302,6 +304,8 @@ desktop_changes_listen_recursive(Eina_Inarray *stack, const char *path, Eina_Boo
302 304
303 if (stat(path, &st) == -1) return; 305 if (stat(path, &st) == -1) return;
304 if (eina_inarray_search(stack, &st, stat_cmp) >= 0) return; 306 if (eina_inarray_search(stack, &st, stat_cmp) >= 0) return;
307 // protect against too deep recursion even if it's valid.
308 if (eina_inarray_count(stack) >= 3) return;
305 eina_inarray_push(stack, &st); 309 eina_inarray_push(stack, &st);
306 if ((!ecore_file_is_dir(path)) && (base)) 310 if ((!ecore_file_is_dir(path)) && (base))
307 { 311 {