diff --git a/payload_generator/delta_diff_utils.cc b/payload_generator/delta_diff_utils.cc
index 356d369..1a2b407 100644
--- a/payload_generator/delta_diff_utils.cc
+++ b/payload_generator/delta_diff_utils.cc
@@ -475,7 +475,6 @@
 bool FileDeltaProcessor::MergeOperation(vector<AnnotatedOperation>* aops) {
   if (failed_)
     return false;
-  aops->reserve(aops->size() + file_aops_.size());
   std::move(file_aops_.begin(), file_aops_.end(), std::back_inserter(*aops));
   return true;
 }
diff --git a/payload_generator/xz_android.cc b/payload_generator/xz_android.cc
index 41c55f7..9d157c4 100644
--- a/payload_generator/xz_android.cc
+++ b/payload_generator/xz_android.cc
@@ -61,7 +61,6 @@
                             size_t size) {
     auto* self = static_cast<const BlobWriterStream*>(p);
     const uint8_t* buffer = reinterpret_cast<const uint8_t*>(buf);
-    self->data_->reserve(self->data_->size() + size);
     self->data_->insert(self->data_->end(), buffer, buffer + size);
     return size;
   }
diff --git a/payload_generator/zip_unittest.cc b/payload_generator/zip_unittest.cc
index 10e899b..6e1f5a3 100644
--- a/payload_generator/zip_unittest.cc
+++ b/payload_generator/zip_unittest.cc
@@ -21,6 +21,7 @@
 #include <string>
 #include <vector>
 
+#include <brillo/secure_blob.h>
 #include <gtest/gtest.h>
 
 #include "update_engine/common/test_utils.h"
@@ -54,7 +55,6 @@
     return true;
   }
   bool Write(const void* bytes, size_t count) override {
-    data_->reserve(data_->size() + count);
     data_->insert(data_->end(),
                   static_cast<const uint8_t*>(bytes),
                   static_cast<const uint8_t*>(bytes) + count);
@@ -67,6 +67,7 @@
 
 template <typename W>
 bool DecompressWithWriter(const brillo::Blob& in, brillo::Blob* out) {
+  out->reserve(in.size());
   std::unique_ptr<ExtentWriter> writer(
       new W(std::make_unique<MemoryExtentWriter>(out)));
   // Init() parameters are ignored by the testing MemoryExtentWriter.
@@ -163,7 +164,7 @@
 TYPED_TEST(ZipTest, CompressELFTest) {
   string path = test_utils::GetBuildArtifactsPath("delta_generator");
   brillo::Blob in;
-  utils::ReadFile(path, &in);
+  ASSERT_TRUE(utils::ReadFile(path, &in));
   brillo::Blob out;
   EXPECT_TRUE(this->ZipCompress(in, &out));
   EXPECT_LT(out.size(), in.size());
