summaryrefslogtreecommitdiffstats
path: root/applypatch/applypatch.cpp
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2018-04-20 06:02:13 +0200
committerTao Bao <tbao@google.com>2018-04-20 18:27:50 +0200
commit8b0b0f1f02f7990177e0da89eb471da2ced13f4c (patch)
treece9cf683304b2d70ae800bb6811842b375904beb /applypatch/applypatch.cpp
parentMerge "applypatch: Dump patch info on mismatching patching result." (diff)
downloadandroid_bootable_recovery-8b0b0f1f02f7990177e0da89eb471da2ced13f4c.tar
android_bootable_recovery-8b0b0f1f02f7990177e0da89eb471da2ced13f4c.tar.gz
android_bootable_recovery-8b0b0f1f02f7990177e0da89eb471da2ced13f4c.tar.bz2
android_bootable_recovery-8b0b0f1f02f7990177e0da89eb471da2ced13f4c.tar.lz
android_bootable_recovery-8b0b0f1f02f7990177e0da89eb471da2ced13f4c.tar.xz
android_bootable_recovery-8b0b0f1f02f7990177e0da89eb471da2ced13f4c.tar.zst
android_bootable_recovery-8b0b0f1f02f7990177e0da89eb471da2ced13f4c.zip
Diffstat (limited to 'applypatch/applypatch.cpp')
-rw-r--r--applypatch/applypatch.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/applypatch/applypatch.cpp b/applypatch/applypatch.cpp
index 120add6d6..7104abd67 100644
--- a/applypatch/applypatch.cpp
+++ b/applypatch/applypatch.cpp
@@ -627,21 +627,20 @@ static int GenerateTarget(const FileContents& source_file, const std::unique_ptr
// We store the decoded output in memory.
std::string memory_sink_str; // Don't need to reserve space.
- SinkFn sink = [&memory_sink_str](const unsigned char* data, size_t len) {
+ SHA_CTX ctx;
+ SHA1_Init(&ctx);
+ SinkFn sink = [&memory_sink_str, &ctx](const unsigned char* data, size_t len) {
+ SHA1_Update(&ctx, data, len);
memory_sink_str.append(reinterpret_cast<const char*>(data), len);
return len;
};
- SHA_CTX ctx;
- SHA1_Init(&ctx);
-
int result;
if (use_bsdiff) {
- result =
- ApplyBSDiffPatch(source_file.data.data(), source_file.data.size(), *patch, 0, sink, &ctx);
+ result = ApplyBSDiffPatch(source_file.data.data(), source_file.data.size(), *patch, 0, sink);
} else {
- result = ApplyImagePatch(source_file.data.data(), source_file.data.size(), *patch, sink, &ctx,
- bonus_data);
+ result =
+ ApplyImagePatch(source_file.data.data(), source_file.data.size(), *patch, sink, bonus_data);
}
if (result != 0) {