Fix StepRecoverSignature 79/167179/1
authorSangyoon Jang <jeremy.jang@samsung.com>
Tue, 16 Jan 2018 05:28:15 +0000 (14:28 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Tue, 16 Jan 2018 05:28:15 +0000 (14:28 +0900)
The privilege level should be initialized before calling
ValidateSignatures() to set privilege level properly.

Change-Id: Ica5fbf136a001f965d045f0e17edbaa1cb45d6a7
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/common/step/security/step_recover_signature.cc

index b1596d9..52d7f14 100644 (file)
@@ -17,19 +17,20 @@ namespace security {
 
 Step::Status StepRecoverSignature::RecoveryUpdate() {
   std::string error_message;
-  PrivilegeLevel level;
+  PrivilegeLevel level = PrivilegeLevel::UNTRUSTED;
   if (!ValidateSignatures(GetSignatureRoot(), &level,
                          &context_->certificate_info.get(), false,
                          &error_message)) {
     LOG(ERROR) << "Failed to verify signature: " << error_message;
     return Status::CERT_ERROR;
   }
+  context_->privilege_level.set(level);
   return Status::OK;
 }
 
 Step::Status StepRecoverSignature::RecoveryReadonlyUpdateInstall() {
   std::string error_message;
-  PrivilegeLevel level;
+  PrivilegeLevel level = PrivilegeLevel::PLATFORM;
   bf::path signature_root =
       bf::path(GetRootAppPath(context_->is_readonly_package.get(),
           context_->uid.get())) / context_->pkgid.get();
@@ -39,6 +40,7 @@ Step::Status StepRecoverSignature::RecoveryReadonlyUpdateInstall() {
     LOG(ERROR) << "Failed to verify signature: " << error_message;
     return Status::CERT_ERROR;
   }
+  context_->privilege_level.set(level);
   return Status::OK;
 }