Commit 9e809bb1 authored by Matthew Sakai's avatar Matthew Sakai Committed by Mikulas Patocka
Browse files

dm vdo indexer: validate saved zone count



Verify that the loaded zone count is in the valid range
before using it as a loop iterator.

Signed-off-by: default avatarMatthew Sakai <msakai@redhat.com>
Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
parent 11439c46
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1445,6 +1445,9 @@ static int __must_check reconstruct_index_save(struct index_save_layout *isl,
	u64 last_block = next_block + isl->index_save.block_count;

	isl->zone_count = table->header.region_count - 3;
	if (isl->zone_count > MAX_ZONES)
		return vdo_log_error_strerror(UDS_CORRUPT_DATA,
					      "invalid zone count");

	last_region = &table->regions[table->header.region_count - 1];
	if (last_region->kind == RL_KIND_EMPTY) {