summaryrefslogtreecommitdiffstats
path: root/applypatch/applypatch.cpp
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-04-20 20:03:42 +0200
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-04-20 20:03:42 +0200
commitbcb015239c5affc81414d45726aff7efac020a5f (patch)
treece9cf683304b2d70ae800bb6811842b375904beb /applypatch/applypatch.cpp
parentMerge "applypatch: Dump patch info on mismatching patching result." (diff)
parentapplypatch: Drop the SHA_CTX parameter in Apply{BSDiff,Image}Patch. (diff)
downloadandroid_bootable_recovery-bcb015239c5affc81414d45726aff7efac020a5f.tar
android_bootable_recovery-bcb015239c5affc81414d45726aff7efac020a5f.tar.gz
android_bootable_recovery-bcb015239c5affc81414d45726aff7efac020a5f.tar.bz2
android_bootable_recovery-bcb015239c5affc81414d45726aff7efac020a5f.tar.lz
android_bootable_recovery-bcb015239c5affc81414d45726aff7efac020a5f.tar.xz
android_bootable_recovery-bcb015239c5affc81414d45726aff7efac020a5f.tar.zst
android_bootable_recovery-bcb015239c5affc81414d45726aff7efac020a5f.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) {