summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--firmware/common/dircache.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/common/dircache.c b/firmware/common/dircache.c
index 078836147e..618240f542 100644
--- a/firmware/common/dircache.c
+++ b/firmware/common/dircache.c
@@ -259,10 +259,10 @@ static int sab_process_dir(unsigned long startcluster, struct dircache_entry *ce
/* second pass: recurse ! */
ce = first_ce;
- while(ce)
+ while(rc >= 0 && ce)
{
if(ce->name_len != 0 && ce->down != NULL && strcmp(ce->d_name, ".") && strcmp(ce->d_name, ".."))
- sab_process_dir(ce->startcluster, ce->down);
+ rc = sab_process_dir(ce->startcluster, ce->down);
ce = ce->next;
}