From c5cc89d6918cb571a972ae5d97c830d86ab7a7a6 Mon Sep 17 00:00:00 2001 From: Javier Serrano Polo Date: Sun, 21 Aug 2016 23:24:53 +0000 Subject: [PATCH] Return NULL when asking for 0 bytes with MM_ALLOC (#2986) --- src/core/MemoryManager.cpp | 5 +++++ src/core/SampleBuffer.cpp | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/core/MemoryManager.cpp b/src/core/MemoryManager.cpp index 2f8cb675e..6a0c7060b 100644 --- a/src/core/MemoryManager.cpp +++ b/src/core/MemoryManager.cpp @@ -50,6 +50,11 @@ bool MemoryManager::init() void * MemoryManager::alloc( size_t size ) { + if( !size ) + { + return NULL; + } + int requiredChunks = size / MM_CHUNK_SIZE + ( size % MM_CHUNK_SIZE > 0 ? 1 : 0 ); MemoryPool * mp = NULL; diff --git a/src/core/SampleBuffer.cpp b/src/core/SampleBuffer.cpp index 7a0b50b78..c0fc2d4d1 100644 --- a/src/core/SampleBuffer.cpp +++ b/src/core/SampleBuffer.cpp @@ -151,9 +151,7 @@ SampleBuffer::SampleBuffer( const f_cnt_t _frames ) : SampleBuffer::~SampleBuffer() { - if( m_origData != NULL ) - MM_FREE( m_origData ); - + MM_FREE( m_origData ); MM_FREE( m_data ); }