Fail on fastboot-info.txt format error
If fastboot-info.txt has wrong format we should not fall back on hardcoded list silently. Instead we should LOG(FATAL) and fail. Hardcoded list should only be used when fastboot-info.txt is not found or is empty Test: fastboot flashall Bug: 194686221 Change-Id: I1cada102f3ff12c1f3002d0b61d3785fc25543c1
This commit is contained in:
parent
451e46f1ae
commit
d441d52540
1 changed files with 6 additions and 6 deletions
|
|
@ -1724,8 +1724,6 @@ std::vector<std::unique_ptr<Task>> ParseFastbootInfo(const FlashingPlan* fp,
|
|||
}
|
||||
auto task = ParseFastbootInfoLine(fp, command);
|
||||
if (!task) {
|
||||
LOG(ERROR) << "Error when parsing fastboot-info.txt, falling back on Hardcoded list: "
|
||||
<< text;
|
||||
return {};
|
||||
}
|
||||
tasks.emplace_back(std::move(task));
|
||||
|
|
@ -1751,8 +1749,6 @@ std::vector<std::unique_ptr<Task>> ParseFastbootInfo(const FlashingPlan* fp,
|
|||
}
|
||||
|
||||
std::vector<std::unique_ptr<Task>> ParseFastbootInfo(const FlashingPlan* fp, std::ifstream& fs) {
|
||||
if (!fs || fs.eof()) return {};
|
||||
|
||||
std::string text;
|
||||
std::vector<std::string> file;
|
||||
// Get os_partitions that need to be resized
|
||||
|
|
@ -1783,13 +1779,17 @@ void FlashAllTool::Flash() {
|
|||
|
||||
std::string path = find_item_given_name("fastboot-info.txt");
|
||||
std::ifstream stream(path);
|
||||
std::vector<std::unique_ptr<Task>> tasks = ParseFastbootInfo(fp_, stream);
|
||||
if (tasks.empty()) {
|
||||
if (!stream || stream.eof()) {
|
||||
LOG(VERBOSE) << "Flashing from hardcoded images. fastboot-info.txt is empty or does not "
|
||||
"exist";
|
||||
HardcodedFlash();
|
||||
return;
|
||||
}
|
||||
|
||||
std::vector<std::unique_ptr<Task>> tasks = ParseFastbootInfo(fp_, stream);
|
||||
if (tasks.empty()) {
|
||||
LOG(FATAL) << "Invalid fastboot-info.txt file.";
|
||||
}
|
||||
LOG(VERBOSE) << "Flashing from fastboot-info.txt";
|
||||
for (auto& task : tasks) {
|
||||
task->Run();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue