From 6948cea67ad44f98aa3ca787741655cdf1bcbd54 Mon Sep 17 00:00:00 2001 From: Ryan Blue Date: Sun, 11 Dec 2022 10:39:04 -0500 Subject: [PATCH] [wpiutil] Fix MemoryBuffer initialization (#4797) Dereferencing an end iterator is undefined behavior and causes a failed assertion when running in Windows debug. --- .../src/main/native/thirdparty/llvm/cpp/llvm/MemoryBuffer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wpiutil/src/main/native/thirdparty/llvm/cpp/llvm/MemoryBuffer.cpp b/wpiutil/src/main/native/thirdparty/llvm/cpp/llvm/MemoryBuffer.cpp index ac2fbf5d45..5beeb383fc 100644 --- a/wpiutil/src/main/native/thirdparty/llvm/cpp/llvm/MemoryBuffer.cpp +++ b/wpiutil/src/main/native/thirdparty/llvm/cpp/llvm/MemoryBuffer.cpp @@ -105,7 +105,7 @@ template class MemoryBufferMem : public MB { public: explicit MemoryBufferMem(std::span inputData) { - MemoryBuffer::Init(&*inputData.begin(), &*inputData.end()); + MemoryBuffer::Init(inputData.data(), inputData.data() + inputData.size()); } /// Disable sized deallocation for MemoryBufferMem, because it has