From d7666083a7ccae0e5238137303480b3229510232 Mon Sep 17 00:00:00 2001 From: Victor Dyachenko Date: Mon, 13 May 2024 09:55:51 -0400 Subject: [PATCH] Prevent memcpy(nullptr, ..., 0) call (#4736) --- groups/bdl/bdlbb/bdlbb_blobstreambuf.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/groups/bdl/bdlbb/bdlbb_blobstreambuf.cpp b/groups/bdl/bdlbb/bdlbb_blobstreambuf.cpp index 1231cac318..be2b67b7a8 100644 --- a/groups/bdl/bdlbb/bdlbb_blobstreambuf.cpp +++ b/groups/bdl/bdlbb/bdlbb_blobstreambuf.cpp @@ -556,10 +556,13 @@ bsl::streamsize OutBlobStreamBuf::xsputn(const char_type *source, bsl::streamsize remainingChars = epptr() - pptr(); bsl::streamsize canCopy = bsl::min(remainingChars, numLeft); - bsl::memcpy(pptr(), source + numCopied, canCopy); - pbump(static_cast(canCopy)); - numCopied += canCopy; - numLeft -= canCopy; + if (canCopy > 0) { + BSLS_ASSERT(pptr()); + bsl::memcpy(pptr(), source + numCopied, canCopy); + pbump(static_cast(canCopy)); + numCopied += canCopy; + numLeft -= canCopy; + } if (0 < numLeft) { if (traits_type::eof() ==