update_attempter: Set is_install_ to false when doing a rollback.
We weren't setting is_install_ when performing a rollback, meaning it
was potentially left uninitialized or had a stale value from a previous
install/update attempt. Explicitly set is_install_ in Rollback() and in
the UpdateAttempter constructor.
BUG=chromium:905704
TEST=Add a unittest.
Change-Id: I19b646d689cab869a2aca0cd82def252c370184b
Reviewed-on: https://chromium-review.googlesource.com/1359109
Commit-Ready: Colin Howes <chowes@google.com>
Tested-by: Colin Howes <chowes@google.com>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
diff --git a/update_attempter.cc b/update_attempter.cc
index f47a63e..50c72f0 100644
--- a/update_attempter.cc
+++ b/update_attempter.cc
@@ -130,7 +130,8 @@
CertificateChecker* cert_checker)
: processor_(new ActionProcessor()),
system_state_(system_state),
- cert_checker_(cert_checker) {}
+ cert_checker_(cert_checker),
+ is_install_(false) {}
UpdateAttempter::~UpdateAttempter() {
// CertificateChecker might not be initialized in unittests.
@@ -703,6 +704,7 @@
}
bool UpdateAttempter::Rollback(bool powerwash) {
+ is_install_ = false;
if (!CanRollback()) {
return false;
}