Check if mount directory exists before attempting mount() syscall
Test: treehugger
Bug: 172696594
Change-Id: If5d0971a5443db2f26cddb31ac2034112e346fe2
diff --git a/payload_consumer/postinstall_runner_action.cc b/payload_consumer/postinstall_runner_action.cc
index bd49639..37a8577 100644
--- a/payload_consumer/postinstall_runner_action.cc
+++ b/payload_consumer/postinstall_runner_action.cc
@@ -143,6 +143,11 @@
fs_mount_dir_ = temp_dir.value();
#endif // __ANDROID__
+ if (!utils::FileExists(fs_mount_dir_.c_str())) {
+ LOG(ERROR) << "Mount point " << fs_mount_dir_
+ << " does not exist, mount call will fail";
+ return CompletePostinstall(ErrorCode::kPostinstallRunnerError);
+ }
// Double check that the fs_mount_dir is not busy with a previous mounted
// filesystem from a previous crashed postinstall step.
if (utils::IsMountpoint(fs_mount_dir_)) {