瀏覽代碼

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 11 月之前
父節點
當前提交
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],