Internal changes PiperOrigin-RevId: 913547498
diff --git a/snappy.cc b/snappy.cc index 9826151..ab61792 100644 --- a/snappy.cc +++ b/snappy.cc
@@ -74,7 +74,6 @@ #include <cstdint> #include <cstdio> #include <cstring> -#include <limits> #include <memory> #include <string> #include <utility> @@ -195,11 +194,6 @@ } // namespace size_t MaxCompressedLength(size_t source_bytes) { - // Avoid integer overflow that could cause undersized buffer allocations. - // Return std::numeric_limits<size_t>::max() to force a controlled allocation failure. - if (source_bytes > (std::numeric_limits<size_t>::max() - 32) / 7 * 6) { - return std::numeric_limits<size_t>::max(); - } // Compressed data can be defined as: // compressed := item* literal* // item := literal* copy
diff --git a/snappy_benchmark.cc b/snappy_benchmark.cc index d6e35d3..649fa73 100644 --- a/snappy_benchmark.cc +++ b/snappy_benchmark.cc
@@ -31,10 +31,12 @@ #include <string> #include <vector> +#include "snappy-test.h" + #include "benchmark/benchmark.h" + #include "snappy-internal.h" #include "snappy-sinksource.h" -#include "snappy-test.h" #include "snappy.h" #include "snappy_test_data.h" @@ -192,8 +194,9 @@ char* dst = new char[snappy::MaxCompressedLength(contents.size())]; size_t zsize = 0; for (auto s : state) { - snappy::RawCompressFromIOVec(iov, contents.size(), dst, &zsize, - snappy::CompressionOptions{/*level=*/level}); + snappy::RawCompressFromIOVec( + iov, contents.size(), dst, &zsize, + snappy::CompressionOptions{/*level=*/static_cast<int>(level)}); benchmark::DoNotOptimize(iov); } state.SetBytesProcessed(static_cast<int64_t>(state.iterations()) * @@ -226,7 +229,7 @@ // Uncompress into an iovec containing ten entries. const int kNumEntries = 10; struct iovec iov[kNumEntries]; - char* dst = new char[contents.size()]; + char *dst = new char[contents.size()]; size_t used_so_far = 0; for (int i = 0; i < kNumEntries; ++i) { iov[i].iov_base = dst + used_so_far; @@ -304,8 +307,9 @@ size_t zsize = 0; for (auto s : state) { - snappy::RawCompress(contents.data(), contents.size(), dst, &zsize, - snappy::CompressionOptions{/*level=*/level}); + snappy::RawCompress( + contents.data(), contents.size(), dst, &zsize, + snappy::CompressionOptions{/*level=*/static_cast<int>(level)}); benchmark::DoNotOptimize(dst); } state.SetBytesProcessed(static_cast<int64_t>(state.iterations()) * @@ -340,8 +344,9 @@ size_t zsize = 0; for (auto s : state) { for (int i = 0; i < num_files; ++i) { - snappy::RawCompress(contents[i].data(), contents[i].size(), dst[i], - &zsize, snappy::CompressionOptions{/*level=*/level}); + snappy::RawCompress( + contents[i].data(), contents[i].size(), dst[i], &zsize, + snappy::CompressionOptions{/*level=*/static_cast<int>(level)}); benchmark::DoNotOptimize(dst); } } @@ -377,8 +382,9 @@ size_t zsize = 0; for (auto s : state) { for (size_t i = 0; i < contents.size(); ++i) { - snappy::RawCompress(contents[i].data(), contents[i].size(), dst[i], - &zsize, snappy::CompressionOptions{/*level=*/level}); + snappy::RawCompress( + contents[i].data(), contents[i].size(), dst[i], &zsize, + snappy::CompressionOptions{/*level=*/static_cast<int>(level)}); benchmark::DoNotOptimize(dst); } }