diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2021-12-08 16:18:00 -0800 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2021-12-08 16:22:37 -0800 |
commit | cd7bc0e010a3c0b4eb349e8c9a0e7edd591a5fff (patch) | |
tree | 64c61a83fc6e4ce1cf289f9c837d1fdc0aae3ae1 /llvm/lib/Support/Compression.cpp | |
parent | 7df18557791ea1cf8f4f55d97d47ff5008f3bbbb (diff) | |
download | llvm-cd7bc0e010a3c0b4eb349e8c9a0e7edd591a5fff.zip llvm-cd7bc0e010a3c0b4eb349e8c9a0e7edd591a5fff.tar.gz llvm-cd7bc0e010a3c0b4eb349e8c9a0e7edd591a5fff.tar.bz2 |
Support: Avoid using SmallVector::set_size() in zlib
Stop using `SmallVector::set_size()` in zlib. Replace pairs of
`reserve()` / `set_size()` with `resize_for_overwrite()` and
`truncate()`.
Differential Revision: https://reviews.llvm.org/D115391
Diffstat (limited to 'llvm/lib/Support/Compression.cpp')
-rw-r--r-- | llvm/lib/Support/Compression.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Support/Compression.cpp b/llvm/lib/Support/Compression.cpp index b8c77cf..ccf6ef4 100644 --- a/llvm/lib/Support/Compression.cpp +++ b/llvm/lib/Support/Compression.cpp @@ -49,14 +49,14 @@ bool zlib::isAvailable() { return true; } Error zlib::compress(StringRef InputBuffer, SmallVectorImpl<char> &CompressedBuffer, int Level) { unsigned long CompressedSize = ::compressBound(InputBuffer.size()); - CompressedBuffer.reserve(CompressedSize); + CompressedBuffer.resize_for_overwrite(CompressedSize); int Res = ::compress2((Bytef *)CompressedBuffer.data(), &CompressedSize, (const Bytef *)InputBuffer.data(), InputBuffer.size(), Level); // Tell MemorySanitizer that zlib output buffer is fully initialized. // This avoids a false report when running LLVM with uninstrumented ZLib. __msan_unpoison(CompressedBuffer.data(), CompressedSize); - CompressedBuffer.set_size(CompressedSize); + CompressedBuffer.truncate(CompressedSize); return Res ? createError(convertZlibCodeToString(Res)) : Error::success(); } @@ -74,10 +74,10 @@ Error zlib::uncompress(StringRef InputBuffer, char *UncompressedBuffer, Error zlib::uncompress(StringRef InputBuffer, SmallVectorImpl<char> &UncompressedBuffer, size_t UncompressedSize) { - UncompressedBuffer.reserve(UncompressedSize); + UncompressedBuffer.resize_for_overwrite(UncompressedSize); Error E = uncompress(InputBuffer, UncompressedBuffer.data(), UncompressedSize); - UncompressedBuffer.set_size(UncompressedSize); + UncompressedBuffer.truncate(UncompressedSize); return E; } |