aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Compression.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2021-12-08 16:18:00 -0800
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2021-12-08 16:22:37 -0800
commitcd7bc0e010a3c0b4eb349e8c9a0e7edd591a5fff (patch)
tree64c61a83fc6e4ce1cf289f9c837d1fdc0aae3ae1 /llvm/lib/Support/Compression.cpp
parent7df18557791ea1cf8f4f55d97d47ff5008f3bbbb (diff)
downloadllvm-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.cpp8
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;
}