From b91ebf585b14a37e436f58dc28d965d019c5f6cf Mon Sep 17 00:00:00 2001 From: Darren Jenkins Date: Thu, 6 Nov 2008 12:53:48 -0800 Subject: [PATCH] --- yaml --- r: 118454 b: refs/heads/master c: 52e9d9f4b32a3bec91feb76c84e37b7dcffe5040 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/fat/dir.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index e358f7aa4547..09612319294e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 53472bc8f810d2fb507593ea03703670506a668d +refs/heads/master: 52e9d9f4b32a3bec91feb76c84e37b7dcffe5040 diff --git a/trunk/fs/fat/dir.c b/trunk/fs/fat/dir.c index 931dd28b5289..140fc39e2307 100644 --- a/trunk/fs/fat/dir.c +++ b/trunk/fs/fat/dir.c @@ -373,9 +373,10 @@ int fat_search_long(struct inode *inode, const unsigned char *name, if (de->attr == ATTR_EXT) { int status = fat_parse_long(inode, &cpos, &bh, &de, &unicode, &nr_slots); - if (status < 0) - return status; - else if (status == PARSE_INVALID) + if (status < 0) { + err = status; + goto end_of_dir; + } else if (status == PARSE_INVALID) continue; else if (status == PARSE_NOT_LONGNAME) goto parse_record;