From 3fec8c64190b6600c01f383501f55f3b9350c213 Mon Sep 17 00:00:00 2001 From: Tianjie Xu Date: Wed, 23 Aug 2017 00:18:07 -0700 Subject: [PATCH] Add missing report of error code under recovery Add report of kMapFileFailure, kForkUpdateBinaryFailure and kUpdateBinaryCommandFailure. Test: unit test pass; kMapFileFailure reports correctly. Change-Id: I858c81b6c750b5e300b1b12760b1f0fa8e23b47d --- error_code.h | 3 +++ install.cpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/error_code.h b/error_code.h index 4cbad4cf..4e3032bc 100644 --- a/error_code.h +++ b/error_code.h @@ -25,6 +25,9 @@ enum ErrorCode { kBootreasonInBlacklist, kPackageCompatibilityFailure, kScriptExecutionFailure, + kMapFileFailure, + kForkUpdateBinaryFailure, + kUpdateBinaryCommandFailure, }; enum CauseCode { diff --git a/install.cpp b/install.cpp index 7fbf5c01..80ef7154 100644 --- a/install.cpp +++ b/install.cpp @@ -321,6 +321,7 @@ static int try_update_binary(const std::string& package, ZipArchiveHandle zip, b if (ret) { close(pipefd[0]); close(pipefd[1]); + log_buffer->push_back(android::base::StringPrintf("error: %d", kUpdateBinaryCommandFailure)); return ret; } @@ -385,6 +386,7 @@ static int try_update_binary(const std::string& package, ZipArchiveHandle zip, b close(pipefd[0]); close(pipefd[1]); PLOG(ERROR) << "Failed to fork update binary"; + log_buffer->push_back(android::base::StringPrintf("error: %d", kForkUpdateBinaryFailure)); return INSTALL_ERROR; } @@ -573,6 +575,7 @@ static int really_install_package(const std::string& path, bool* wipe_cache, boo MemMapping map; if (!map.MapFile(path)) { LOG(ERROR) << "failed to map file"; + log_buffer->push_back(android::base::StringPrintf("error: %d", kMapFileFailure)); return INSTALL_CORRUPT; }