~aleteoryx/muditaos

62615d6cc666eb0e9a88ce46f1e2589a76f8a089 — Lucjan Bryndza 5 years ago f980abd
[EGD-5016] Fix vfs-littlefs failed mount init

Fix issue with memory leak during mount in littlefs core
when mount fails.
1 files changed, 10 insertions(+), 6 deletions(-)

M module-vfs/drivers/src/purefs/fs/filesystem_littlefs.cpp
M module-vfs/drivers/src/purefs/fs/filesystem_littlefs.cpp => module-vfs/drivers/src/purefs/fs/filesystem_littlefs.cpp +10 -6
@@ 229,20 229,24 @@ namespace purefs::fs::drivers
            auto ssize  = diskmm->get_info(disk, blkdev::info_type::sector_size);
            if (ssize < 0) {
                LOG_ERROR("Unable to read sector size %i", int(ssize));
                return ssize;
                err = ssize;
            }
            else {
                err = setup_lfs_config(vmnt->lfs_config(), ssize, disk->sectors());
            }
            err = setup_lfs_config(vmnt->lfs_config(), ssize, disk->sectors());
        }
        if (err) {
            return err;
        if (!err) {
            err = lfs_mount(vmnt->lfs_mount(), vmnt->lfs_config());
        }
        err = lfs_mount(vmnt->lfs_mount(), vmnt->lfs_config());
        if (err) {
        else {
            LOG_ERROR("LFS mount error %i", err);
        }
        if (!err) {
            filesystem_operations::mount(mnt);
        }
        else {
            littlefs::internal::remove_volume(vmnt->lfs_config());
        }
        return lfs_to_errno(err);
    }