Remove ignore_deflate_size flag
am: 2d51d2b779
Change-Id: If9452a5f882f7cfa00b2a5d25de730655ddb8202
diff --git a/src/fuzzer.cc b/src/fuzzer.cc
index 0ea63ce..b870ac4 100644
--- a/src/fuzzer.cc
+++ b/src/fuzzer.cc
@@ -97,6 +97,15 @@
TestExtentsArrayForFuzzer(src_puffs) &&
TestExtentsArrayForFuzzer(dst_puffs)) {
const size_t kBufferSize = 1000;
+ if ((!src_deflates.empty() &&
+ kBufferSize <
+ src_deflates.back().offset + src_deflates.back().length) ||
+ (!dst_deflates.empty() &&
+ kBufferSize <
+ dst_deflates.back().offset + dst_deflates.back().length)) {
+ return;
+ }
+
Buffer src_buffer(kBufferSize);
Buffer dst_buffer(kBufferSize);
auto src = MemoryStream::CreateForRead(src_buffer);
diff --git a/src/main.cc b/src/main.cc
index 79fc4f2..12f823f 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -275,7 +275,7 @@
auto huffer = std::make_shared<Huffer>();
auto huff_writer = PuffinStream::CreateForHuff(
std::move(dst_stream), huffer, dst_puff_size, dst_deflates_bit,
- src_puffs, /*ignore_deflate_size=*/true);
+ src_puffs);
uint64_t bytes_read = 0;
while (bytes_read < dst_puff_size) {
@@ -300,8 +300,7 @@
auto huffer = std::make_shared<Huffer>();
auto dst_stream = PuffinStream::CreateForHuff(std::move(dst_file), huffer,
src_stream_size,
- dst_deflates_bit, src_puffs,
- /*ignore_deflate_size=*/true);
+ dst_deflates_bit, src_puffs);
Buffer buffer(1024 * 1024);
uint64_t bytes_read = 0;
diff --git a/src/puffin_stream.cc b/src/puffin_stream.cc
index ff79ea2..91d0dd7 100644
--- a/src/puffin_stream.cc
+++ b/src/puffin_stream.cc
@@ -28,9 +28,7 @@
namespace {
-bool CheckArgsIntegrity(uint64_t deflate_size,
- bool ignore_deflate_size,
- uint64_t puff_size,
+bool CheckArgsIntegrity(uint64_t puff_size,
const std::vector<BitExtent>& deflates,
const std::vector<ByteExtent>& puffs) {
TEST_AND_RETURN_FALSE(puffs.size() == deflates.size());
@@ -39,10 +37,6 @@
if (!puffs.empty()) {
TEST_AND_RETURN_FALSE(puff_size >=
puffs.back().offset + puffs.back().length);
- if (!ignore_deflate_size) {
- TEST_AND_RETURN_FALSE(deflate_size * 8 >=
- deflates.back().offset + deflates.back().length);
- }
}
// Check to make sure |puffs| and |deflates| are sorted and non-overlapping.
@@ -67,12 +61,8 @@
const std::vector<BitExtent>& deflates,
const std::vector<ByteExtent>& puffs,
size_t max_cache_size) {
- uint64_t deflate_size = 0;
- TEST_AND_RETURN_VALUE(stream->GetSize(&deflate_size), nullptr);
- TEST_AND_RETURN_VALUE(
- CheckArgsIntegrity(deflate_size, /*ignore_deflate_size=*/false, puff_size,
- deflates, puffs),
- nullptr);
+ TEST_AND_RETURN_VALUE(CheckArgsIntegrity(puff_size, deflates, puffs),
+ nullptr);
TEST_AND_RETURN_VALUE(stream->Seek(0), nullptr);
UniqueStreamPtr puffin_stream(new PuffinStream(std::move(stream), puffer,
@@ -87,14 +77,8 @@
std::shared_ptr<Huffer> huffer,
uint64_t puff_size,
const std::vector<BitExtent>& deflates,
- const std::vector<ByteExtent>& puffs,
- bool ignore_deflate_size) {
- uint64_t deflate_size = 0;
- if (!ignore_deflate_size) {
- TEST_AND_RETURN_VALUE(stream->GetSize(&deflate_size), nullptr);
- }
- TEST_AND_RETURN_VALUE(CheckArgsIntegrity(deflate_size, ignore_deflate_size,
- puff_size, deflates, puffs),
+ const std::vector<ByteExtent>& puffs) {
+ TEST_AND_RETURN_VALUE(CheckArgsIntegrity(puff_size, deflates, puffs),
nullptr);
TEST_AND_RETURN_VALUE(stream->Seek(0), nullptr);
diff --git a/src/puffin_stream.h b/src/puffin_stream.h
index 9e12467..47b8ace 100644
--- a/src/puffin_stream.h
+++ b/src/puffin_stream.h
@@ -57,14 +57,11 @@
// completely puffed.
// |deflates| IN The location of deflates in |stream|.
// |puffs| IN The location of puffs into the input puff stream.
- // |ignore_deflate_size| IN Ignores integrity checking the size of the
- // |stream|.
static UniqueStreamPtr CreateForHuff(UniqueStreamPtr stream,
std::shared_ptr<Huffer> huffer,
uint64_t puff_size,
const std::vector<BitExtent>& deflates,
- const std::vector<ByteExtent>& puffs,
- bool ignore_deflate_size);
+ const std::vector<ByteExtent>& puffs);
bool GetSize(uint64_t* size) const override;
diff --git a/src/puffin_unittest.cc b/src/puffin_unittest.cc
index 669ae30..8efcfe3 100644
--- a/src/puffin_unittest.cc
+++ b/src/puffin_unittest.cc
@@ -212,8 +212,7 @@
src_puffin_stream =
PuffinStream::CreateForHuff(std::move(deflate_stream), huffer,
- puff_size, deflate_extents, puff_extents,
- /*ignore_deflate_size=*/true);
+ puff_size, deflate_extents, puff_extents);
ASSERT_TRUE(
src_puffin_stream->Write(puff_buffer.data(), puff_buffer.size()));
@@ -575,29 +574,4 @@
kGapPuffs, kGapPuffExtents);
}
-TEST_F(PuffinTest, IgnoreDeflateSizeTest) {
- std::shared_ptr<Huffer> huffer(new Huffer());
- Buffer out_deflate_buffer;
- EXPECT_FALSE(PuffinStream::CreateForHuff(
- MemoryStream::CreateForWrite(&out_deflate_buffer), huffer,
- kGapPuffs.size(), kGapSubblockDeflateExtents, kGapPuffExtents,
- /*ignore_deflate_size=*/false));
-
- EXPECT_TRUE(PuffinStream::CreateForHuff(
- MemoryStream::CreateForWrite(&out_deflate_buffer), huffer,
- kGapPuffs.size(), kGapSubblockDeflateExtents, kGapPuffExtents,
- /*ignore_deflate_size=*/true));
-
- out_deflate_buffer.resize(kGapDeflates.size());
- EXPECT_TRUE(PuffinStream::CreateForHuff(
- MemoryStream::CreateForWrite(&out_deflate_buffer), huffer,
- kGapPuffs.size(), kGapSubblockDeflateExtents, kGapPuffExtents,
- /*ignore_deflate_size=*/true));
-
- EXPECT_TRUE(PuffinStream::CreateForHuff(
- MemoryStream::CreateForWrite(&out_deflate_buffer), huffer,
- kGapPuffs.size(), kGapSubblockDeflateExtents, kGapPuffExtents,
- /*ignore_deflate_size=*/false));
-}
-
} // namespace puffin
diff --git a/src/puffpatch.cc b/src/puffpatch.cc
index 2c499a3..2dd3a29 100644
--- a/src/puffpatch.cc
+++ b/src/puffpatch.cc
@@ -164,8 +164,7 @@
// For writing into destination.
auto writer = BsdiffStream::Create(PuffinStream::CreateForHuff(
- std::move(dst), huffer, dst_puff_size, dst_deflates, dst_puffs,
- /*ignore_deflate_size=*/false));
+ std::move(dst), huffer, dst_puff_size, dst_deflates, dst_puffs));
TEST_AND_RETURN_FALSE(writer);
// Running bspatch itself.
diff --git a/src/stream_unittest.cc b/src/stream_unittest.cc
index 30813ee..76fe34b 100644
--- a/src/stream_unittest.cc
+++ b/src/stream_unittest.cc
@@ -218,8 +218,7 @@
shared_ptr<Huffer> huffer(new Huffer());
auto write_stream = PuffinStream::CreateForHuff(
MemoryStream::CreateForWrite(&buf), huffer, kPuffsSample1.size(),
- kSubblockDeflateExtentsSample1, kPuffExtentsSample1,
- /*ignore_deflate_size=*/false);
+ kSubblockDeflateExtentsSample1, kPuffExtentsSample1);
ASSERT_TRUE(write_stream->Seek(0));
for (size_t idx = 0; idx < kPuffsSample1.size(); idx++) {