libsnapshot: Call EnsureImageManager before RemoveAllImages

Calls to RemoveAllImages may be on uninitialized
image manager.

Test: apply OTA to self

Change-Id: Id57c01ddfdb6985fb2c3c142ee19fd65eef6c131
diff --git a/fs_mgr/libsnapshot/snapshot.cpp b/fs_mgr/libsnapshot/snapshot.cpp
index 33c122b..80d73c3 100644
--- a/fs_mgr/libsnapshot/snapshot.cpp
+++ b/fs_mgr/libsnapshot/snapshot.cpp
@@ -132,7 +132,9 @@
     // Purge the ImageManager just in case there is a corrupt lp_metadata file
     // lying around. (NB: no need to return false on an error, we can let the
     // update try to progress.)
-    images_->RemoveAllImages();
+    if (EnsureImageManager()) {
+        images_->RemoveAllImages();
+    }
 
     auto state = ReadUpdateState(file.get());
     if (state != UpdateState::None) {
@@ -1203,7 +1205,7 @@
         // being cancelled due to some corrupted state in an lp_metadata file.
         // Note that we do not do this if some cow images are still mapped,
         // since we must not remove backing storage if it's in use.
-        if (!images_->RemoveAllImages()) {
+        if (!EnsureImageManager() || !images_->RemoveAllImages()) {
             LOG(ERROR) << "Could not remove all snapshot artifacts";
             return false;
         }