comparison 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
comparison
equal deleted inserted replaced
4912:45d6ce72a84e 4913:c1b19f95e166
55 } 55 }
56 } 56 }
57 57
58 58
59 void MallocMemoryBuffer::Assign(void* buffer, 59 void MallocMemoryBuffer::Assign(void* buffer,
60 size_t size, 60 uint64_t size,
61 FreeFunction freeFunction) 61 FreeFunction freeFunction)
62 { 62 {
63 Clear(); 63 Clear();
64
65 if (size != 0 &&
66 buffer == NULL)
67 {
68 throw OrthancException(ErrorCode_NullPointer);
69 }
70
71 if (static_cast<uint64_t>(static_cast<size_t>(size)) != size)
72 {
73 freeFunction(buffer);
74 throw OrthancException(ErrorCode_InternalError, "Buffer larger than 4GB, which is too large for Orthanc running in 32bits");
75 }
64 76
65 buffer_ = buffer; 77 buffer_ = buffer;
66 size_ = size; 78 size_ = size;
67 free_ = freeFunction; 79 free_ = freeFunction;
68 80