diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/common/dircache.c | 4 |
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; } |