diff --git a/src/fdb_kvdb.c b/src/fdb_kvdb.c index 5680383..da83953 100644 --- a/src/fdb_kvdb.c +++ b/src/fdb_kvdb.c @@ -837,10 +837,12 @@ static void sector_iterator(fdb_kvdb_t db, kv_sec_info_t sector, fdb_sector_stor sec_addr = db_oldest_addr(db); do { traversed_len += db_sec_size(db); - read_sector_info(db, sec_addr, sector, false); + if (FDB_NO_ERR != read_sector_info(db, sec_addr, sector, false)) + return; if (status == FDB_SECTOR_STORE_UNUSED || status == sector->status.store) { if (traversal_kv) { - read_sector_info(db, sec_addr, sector, true); + if (FDB_NO_ERR != read_sector_info(db, sec_addr, sector, true)) + return; } /* iterator is interrupted when callback return true */ if (callback && callback(sector, arg1, arg2)) {