diff --git a/lfs.c b/lfs.c index 26280fa8..fa822a0b 100644 --- a/lfs.c +++ b/lfs.c @@ -3014,7 +3014,7 @@ static int lfs_file_rawclose(lfs_t *lfs, lfs_file_t *file) { lfs_mlist_remove(lfs, (struct lfs_mlist*)file); // clean up memory - if (!file->cfg->buffer) { + if ((!file->cfg->buffer) && (file->cache.buffer)) { lfs_free(file->cache.buffer); }