Fixed memory leak in emubd's out-of-order write emulation

We need to decrement the saved block state on sync, when we reset
out-of-order emulation. Otherwise we leak blocks out the wazoo.
This commit is contained in:
Christopher Haster 2024-02-27 21:39:34 -06:00
parent fc2aa3350c
commit 7873d811a0

View File

@ -531,6 +531,7 @@ int lfs_emubd_sync(const struct lfs_config *cfg) {
// emulate out-of-order writes? reset first write, writes
// cannot be out-of-order across sync
if (bd->cfg->powerloss_behavior == LFS_EMUBD_POWERLOSS_OOO) {
lfs_emubd_decblock(bd->ooo_data);
bd->ooo_block = -1;
bd->ooo_data = NULL;
}