diff options
-rw-r--r-- | fs/fat/fat.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/fat/fat.c b/fs/fat/fat.c index f593e989ff..6ade4ea54e 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -1148,7 +1148,15 @@ int file_fat_read_at(const char *filename, loff_t pos, void *buffer, goto out_free_both; debug("reading %s at pos %llu\n", filename, pos); - ret = get_contents(&fsdata, itr->dent, pos, buffer, maxsize, actread); + + /* 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: free(fsdata.fatbuf); |