With:
fatls mmc 0 /dir/file
dir: regular directory
file: regular file

The previous code read the contents of file as if it were directory entries to
list. This patch refuses to list file contents as if it were a folder.

Signed-off-by: Benoît Thébaudeau <benoit.thebaud...@advansee.com>
Cc: Wolfgang Denk <w...@denx.de>
---
 .../fs/fat/fat.c                                   |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git u-boot-66714b1.orig/fs/fat/fat.c u-boot-66714b1/fs/fat/fat.c
index fcce412..943cdb6 100644
--- u-boot-66714b1.orig/fs/fat/fat.c
+++ u-boot-66714b1/fs/fat/fat.c
@@ -1105,11 +1105,11 @@ rootdir_done:
                        goto exit;
                }
 
-               if (idx >= 0) {
-                       if (!(dentptr->attr & ATTR_DIR))
-                               goto exit;
+               if (isdir && !(dentptr->attr & ATTR_DIR))
+                       goto exit;
+
+               if (idx >= 0)
                        subname = nextname;
-               }
        }
 
        ret = get_contents(mydata, dentptr, buffer, maxsize);
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to