Fixed infinite loop inside verity write and --disable_fec_computation
Test: tested inc ota on CVD
Bug: 270117834
Change-Id: Iac0c873013747e9b825f355679b6ef21126a7878
diff --git a/payload_consumer/verity_writer_android.cc b/payload_consumer/verity_writer_android.cc
index 31d2875..4a476d2 100644
--- a/payload_consumer/verity_writer_android.cc
+++ b/payload_consumer/verity_writer_android.cc
@@ -151,6 +151,9 @@
}
double IncrementalEncodeFEC::ReportProgress() const {
+ if (num_rounds_ == 0) {
+ return 1.0;
+ }
return static_cast<double>(current_round_) / num_rounds_;
}
@@ -311,7 +314,8 @@
return true;
}
bool VerityWriterAndroid::FECFinished() const {
- if (encodeFEC_.Finished()) {
+ if ((encodeFEC_.Finished() || partition_->fec_size == 0) &&
+ hash_tree_written_) {
return true;
}
return false;