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) {