From d98b8c7c59938496a637765d75ce3585bb30fa68 Mon Sep 17 00:00:00 2001 From: Dario Casalinuovo Date: Thu, 19 Nov 2015 18:49:01 +0100 Subject: [PATCH] BufferCache: More strict validity checks * This add a debugger call if the BBuffer id is mismatched at object creation. --- src/kits/media/BufferCache.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/kits/media/BufferCache.cpp b/src/kits/media/BufferCache.cpp index 5548e34803..02ea7213f2 100644 --- a/src/kits/media/BufferCache.cpp +++ b/src/kits/media/BufferCache.cpp @@ -45,11 +45,15 @@ BufferCache::GetBuffer(media_buffer_id id) buffer_clone_info info; info.buffer = id; BBuffer* buffer = new(std::nothrow) BBuffer(info); - if (buffer == NULL || buffer->Data() == NULL) { + if (buffer == NULL || buffer->ID() <= 0 + || buffer->Data() == NULL) { delete buffer; return NULL; } + if (buffer->ID() != id) + debugger("BufferCache::GetBuffer: IDs mismatch"); + try { fMap.insert(std::make_pair(id, buffer)); } catch (std::bad_alloc& exception) {