diff --git a/ntcore/src/main/native/cpp/net/WebSocketConnection.cpp b/ntcore/src/main/native/cpp/net/WebSocketConnection.cpp index c505219514..6cafcb054d 100644 --- a/ntcore/src/main/native/cpp/net/WebSocketConnection.cpp +++ b/ntcore/src/main/native/cpp/net/WebSocketConnection.cpp @@ -260,8 +260,12 @@ wpi::uv::Buffer WebSocketConnection::AllocBuf() { } void WebSocketConnection::ReleaseBufs(std::span bufs) { +#ifdef __SANITIZE_ADDRESS__ + size_t numToPool = 0; +#else size_t numToPool = (std::min)(bufs.size(), kMaxPoolSize - m_buf_pool.size()); m_buf_pool.insert(m_buf_pool.end(), bufs.begin(), bufs.begin() + numToPool); +#endif for (auto&& buf : bufs.subspan(numToPool)) { buf.Deallocate(); } diff --git a/ntcore/src/main/native/cpp/net3/UvStreamConnection3.cpp b/ntcore/src/main/native/cpp/net3/UvStreamConnection3.cpp index a2f42d8da9..efc45348b0 100644 --- a/ntcore/src/main/native/cpp/net3/UvStreamConnection3.cpp +++ b/ntcore/src/main/native/cpp/net3/UvStreamConnection3.cpp @@ -28,10 +28,14 @@ void UvStreamConnection3::Flush() { ++m_sendsActive; m_stream.Write(m_buffers, [selfweak = weak_from_this()](auto bufs, auto) { if (auto self = selfweak.lock()) { +#ifdef __SANITIZE_ADDRESS__ + size_t numToPool = 0; +#else size_t numToPool = (std::min)(bufs.size(), kMaxPoolSize - self->m_buf_pool.size()); self->m_buf_pool.insert(self->m_buf_pool.end(), bufs.begin(), bufs.begin() + numToPool); +#endif for (auto&& buf : bufs.subspan(numToPool)) { buf.Deallocate(); }