updater: Fix the broken case for apply_patch_check().
It's valid to provide only 1 argument to apply_patch_check(). We
shouldn't fail the argument parsing.
Bug: 36541737
Test: recovery_component_test passes.
Test: recovery_component_test captures the failure without the fix.
Test: The previously failed update applies successfully.
Change-Id: Iee4c54ed33b877fc4885945b085341ec5c64f663
diff --git a/updater/install.cpp b/updater/install.cpp
index c9a0270..f91f3fc 100644
--- a/updater/install.cpp
+++ b/updater/install.cpp
@@ -691,7 +691,7 @@
const std::string& filename = args[0];
std::vector<std::string> sha1s;
- if (!ReadArgs(state, argv, &sha1s, 1, argv.size() - 1)) {
+ if (argv.size() > 1 && !ReadArgs(state, argv, &sha1s, 1, argv.size() - 1)) {
return ErrorAbort(state, kArgsParsingFailure, "%s() Failed to parse the argument(s)", name);
}
int result = applypatch_check(filename.c_str(), sha1s);