Fixed inverted dir->count check logic

Curiously, the logic from 48bd2bf was incorrect, and would allow a
commit to be tried if erased _or_ dir->count was at risk of overflow.

That is clearly wrong, we should only try to commit if both conditions
are met...

Found again by dschendt
This commit is contained in:
Christopher Haster
2025-09-25 15:22:19 -05:00
parent f24ff9fb25
commit 4cd2bfc2c1

2
lfs.c
View File

@@ -2264,7 +2264,7 @@ static int lfs_dir_relocatingcommit(lfs_t *lfs, lfs_mdir_t *dir,
}
}
if (dir->erased || dir->count >= 0xff) {
if (dir->erased && dir->count < 0xff) {
// try to commit
struct lfs_commit commit = {
.block = dir->pair[0],