瀏覽代碼

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
Christopher Haster 2 月之前
父節點
當前提交
4cd2bfc2c1
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      lfs.c

+ 1 - 1
lfs.c

@@ -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],