Mercurial > hg > orthanc
diff OrthancFramework/Sources/MallocMemoryBuffer.cpp @ 4913:c1b19f95e166
fix signature of OrthancPluginReceivedInstanceCallback for ABI compatibility
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 22 Feb 2022 22:12:43 +0100 |
parents | 43e613a7756b |
children | 0ea402b4d901 |
line wrap: on
line diff
--- a/OrthancFramework/Sources/MallocMemoryBuffer.cpp Tue Feb 22 17:46:28 2022 +0100 +++ b/OrthancFramework/Sources/MallocMemoryBuffer.cpp Tue Feb 22 22:12:43 2022 +0100 @@ -57,11 +57,23 @@ void MallocMemoryBuffer::Assign(void* buffer, - size_t size, + uint64_t size, FreeFunction freeFunction) { Clear(); + if (size != 0 && + buffer == NULL) + { + throw OrthancException(ErrorCode_NullPointer); + } + + if (static_cast<uint64_t>(static_cast<size_t>(size)) != size) + { + freeFunction(buffer); + throw OrthancException(ErrorCode_InternalError, "Buffer larger than 4GB, which is too large for Orthanc running in 32bits"); + } + buffer_ = buffer; size_ = size; free_ = freeFunction;