Always verifies deserialized bank's slot and snapshot hash (#28688)

This commit is contained in:
Brooks Prumo 2022-10-31 17:48:18 -04:00 committed by GitHub
parent cb4c3668c7
commit f0f108905e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 12 deletions

View File

@ -1011,6 +1011,18 @@ pub fn bank_from_snapshot_archives(
measure_rebuild.stop();
info!("{}", measure_rebuild);
verify_bank_against_expected_slot_hash(
&bank,
incremental_snapshot_archive_info.as_ref().map_or(
full_snapshot_archive_info.slot(),
|incremental_snapshot_archive_info| incremental_snapshot_archive_info.slot(),
),
incremental_snapshot_archive_info.as_ref().map_or(
*full_snapshot_archive_info.hash(),
|incremental_snapshot_archive_info| *incremental_snapshot_archive_info.hash(),
),
)?;
let mut measure_verify = Measure::start("verify");
if !bank.verify_snapshot_bank(
test_hash_calculation,
@ -1127,18 +1139,6 @@ pub fn bank_from_latest_snapshot_archives(
),
);
verify_bank_against_expected_slot_hash(
&bank,
incremental_snapshot_archive_info.as_ref().map_or(
full_snapshot_archive_info.slot(),
|incremental_snapshot_archive_info| incremental_snapshot_archive_info.slot(),
),
incremental_snapshot_archive_info.as_ref().map_or(
*full_snapshot_archive_info.hash(),
|incremental_snapshot_archive_info| *incremental_snapshot_archive_info.hash(),
),
)?;
Ok((
bank,
full_snapshot_archive_info,