diff options
author | Tao Bao <tbao@google.com> | 2016-12-09 20:48:58 +0100 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-12-09 20:48:58 +0100 |
commit | 332af25b7cf6df59b7f3ec70a469ddadeb25be49 (patch) | |
tree | 2154d1b1f5ca329134ff5e806d9522496296a077 /recovery.cpp | |
parent | Merge "recovery: Clean up get_args()." (diff) | |
parent | recovery: Fix the argument parsing from COMMAND_FILE. (diff) | |
download | android_bootable_recovery-332af25b7cf6df59b7f3ec70a469ddadeb25be49.tar android_bootable_recovery-332af25b7cf6df59b7f3ec70a469ddadeb25be49.tar.gz android_bootable_recovery-332af25b7cf6df59b7f3ec70a469ddadeb25be49.tar.bz2 android_bootable_recovery-332af25b7cf6df59b7f3ec70a469ddadeb25be49.tar.lz android_bootable_recovery-332af25b7cf6df59b7f3ec70a469ddadeb25be49.tar.xz android_bootable_recovery-332af25b7cf6df59b7f3ec70a469ddadeb25be49.tar.zst android_bootable_recovery-332af25b7cf6df59b7f3ec70a469ddadeb25be49.zip |
Diffstat (limited to 'recovery.cpp')
-rw-r--r-- | recovery.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/recovery.cpp b/recovery.cpp index 5f1607553..e16f28c72 100644 --- a/recovery.cpp +++ b/recovery.cpp @@ -350,9 +350,12 @@ static std::vector<std::string> get_args(const int argc, char** const argv) { // --- if that doesn't work, try the command file (if we have /cache). if (argc == 1 && has_cache) { std::string content; - if (android::base::ReadFileToString(COMMAND_FILE, &content)) { + if (ensure_path_mounted(COMMAND_FILE) == 0 && + android::base::ReadFileToString(COMMAND_FILE, &content)) { std::vector<std::string> tokens = android::base::Split(content, "\n"); - for (auto it = tokens.begin() + 1; it != tokens.end(); it++) { + // All the arguments in COMMAND_FILE are needed (unlike the BCB message, + // COMMAND_FILE doesn't use filename as the first argument). + for (auto it = tokens.begin(); it != tokens.end(); it++) { // Skip empty and '\0'-filled tokens. if (!it->empty() && (*it)[0] != '\0') args.push_back(std::move(*it)); } |