diff --git a/lfs.c b/lfs.c index b8d22e2..624f43c 100644 --- a/lfs.c +++ b/lfs.c @@ -5222,7 +5222,9 @@ static int lfs_fs_gc_(lfs_t *lfs) { } // try to populate the lookahead buffer, unless it's already full - if (lfs->lookahead.size < 8*lfs->cfg->lookahead_size) { + if (lfs->lookahead.size < lfs_min( + 8 * lfs->cfg->lookahead_size, + lfs->block_count)) { err = lfs_alloc_scan(lfs); if (err) { return err;