Fix applying REPLACE_XZ operation when verifying payload. am: 8adc1ad363
am: d26953fdb4
Change-Id: Ic5f5ab61029d809e0f09538256c9969d5937a6ce
diff --git a/payload_generator/generate_delta_main.cc b/payload_generator/generate_delta_main.cc
index 6c04fca..86da9e1 100644
--- a/payload_generator/generate_delta_main.cc
+++ b/payload_generator/generate_delta_main.cc
@@ -19,6 +19,7 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
+#include <xz.h>
#include <string>
#include <vector>
@@ -239,6 +240,7 @@
int fd = open(payload_file.c_str(), O_RDONLY, 0);
CHECK_GE(fd, 0);
ScopedFdCloser fd_closer(&fd);
+ xz_crc32_init();
for (off_t offset = 0;; offset += buf.size()) {
ssize_t bytes_read;
CHECK(utils::PReadAll(fd, buf.data(), buf.size(), offset, &bytes_read));
@@ -504,8 +506,7 @@
}
if (!FLAGS_in_file.empty()) {
- ApplyPayload(FLAGS_in_file, payload_config);
- return 0;
+ return ApplyPayload(FLAGS_in_file, payload_config) ? 0 : 1;
}
if (!FLAGS_new_postinstall_config_file.empty()) {