From 984d7d058e65ddc1b8a1ffc79a5f178ad88dd596 Mon Sep 17 00:00:00 2001 From: Tianjie Xu Date: Tue, 18 Oct 2016 13:37:18 -0700 Subject: [PATCH] Fix applypatch_check failure when applying update on angler Applypatch_check should be skipped if no sha is specified. As the comments said: "It's okay to specify no sha1s; the check will pass if the LoadFileContents is successful. Useful for reading partitions, where the filename encodes the sha1s." Test: The update package applied on angler successfully. Bug: 32243751 Change-Id: Ib8f3dadf19f745c2dbd350d60da46ab12d75bc87 --- applypatch/applypatch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applypatch/applypatch.cpp b/applypatch/applypatch.cpp index cf155607..48e4c838 100644 --- a/applypatch/applypatch.cpp +++ b/applypatch/applypatch.cpp @@ -430,7 +430,7 @@ int applypatch_check(const char* filename, const std::vector& patch // partitions, where the filename encodes the sha1s; no need to // check them twice.) if (LoadFileContents(filename, &file) != 0 || - FindMatchingPatch(file.sha1, patch_sha1_str) < 0) { + (patch_sha1_str.size() > 0 && FindMatchingPatch(file.sha1, patch_sha1_str) < 0)) { printf("file \"%s\" doesn't have any of expected " "sha1 sums; checking cache\n", filename);