File was found on specified location. Info about file was read,
but then immediately destroyed using 'free' call. As a result
file size was set to 0, hence fat process didn't read any data.

Premature 'free' call removed. Resources are freed right before
function return. File is read correctly.

Signed-off-by: Martin Vystrcil <martin.vystr...@m-linux.cz>
---
 fs/fat/fat.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/fs/fat/fat.c b/fs/fat/fat.c
index 06c8ed14..4a55219a 100644
--- a/fs/fat/fat.c
+++ b/fs/fat/fat.c
@@ -1173,11 +1173,6 @@ int file_fat_read_at(const char *filename, loff_t pos, void *buffer,

     /* For saving default max clustersize memory allocated to malloc pool */
     dir_entry *dentptr = itr->dent;
-
-    free(itr);
-
-    itr = NULL;
-
     ret = get_contents(&fsdata, dentptr, pos, buffer, maxsize, actread);

 out_free_both:
--
2.17.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to