Merge "Add more specific error codes for uncrypt failures"

This commit is contained in:
Tianjie Xu
2017-07-27 21:29:17 +00:00
committed by Gerrit Code Review
2 changed files with 8 additions and 6 deletions

View File

@@ -68,6 +68,8 @@ enum UncryptErrorCode {
kUncryptFileCloseError, kUncryptFileCloseError,
kUncryptFileRenameError, kUncryptFileRenameError,
kUncryptPackageMissingError, kUncryptPackageMissingError,
kUncryptRealpathFindError,
kUncryptBlockDeviceFindError,
}; };
#endif // _ERROR_CODE_H_ #endif // _ERROR_CODE_H_

View File

@@ -448,20 +448,20 @@ static int produce_block_map(const char* path, const char* map_file, const char*
static int uncrypt(const char* input_path, const char* map_file, const int socket) { static int uncrypt(const char* input_path, const char* map_file, const int socket) {
LOG(INFO) << "update package is \"" << input_path << "\""; LOG(INFO) << "update package is \"" << input_path << "\"";
// Turn the name of the file we're supposed to convert into an // Turn the name of the file we're supposed to convert into an absolute path, so we can find
// absolute path, so we can find what filesystem it's on. // what filesystem it's on.
char path[PATH_MAX+1]; char path[PATH_MAX+1];
if (realpath(input_path, path) == NULL) { if (realpath(input_path, path) == nullptr) {
PLOG(ERROR) << "failed to convert \"" << input_path << "\" to absolute path"; PLOG(ERROR) << "failed to convert \"" << input_path << "\" to absolute path";
return 1; return kUncryptRealpathFindError;
} }
bool encryptable; bool encryptable;
bool encrypted; bool encrypted;
const char* blk_dev = find_block_device(path, &encryptable, &encrypted); const char* blk_dev = find_block_device(path, &encryptable, &encrypted);
if (blk_dev == NULL) { if (blk_dev == nullptr) {
LOG(ERROR) << "failed to find block device for " << path; LOG(ERROR) << "failed to find block device for " << path;
return 1; return kUncryptBlockDeviceFindError;
} }
// If the filesystem it's on isn't encrypted, we only produce the // If the filesystem it's on isn't encrypted, we only produce the