Fixed CID 1292. If the allocation or adding to the list of the very first Buffer failed,
the buffer data would be leaked. Note that for failure to allocate later buffers, the data is correctly freed in _FreeBuffers(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27459 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -266,6 +266,8 @@ MediaTrackAudioSupplier::_AllocateBuffers()
|
|||||||
Buffer* buffer = new (nothrow) Buffer;
|
Buffer* buffer = new (nothrow) Buffer;
|
||||||
if (!buffer || !fBuffers.AddItem(buffer)) {
|
if (!buffer || !fBuffers.AddItem(buffer)) {
|
||||||
delete buffer;
|
delete buffer;
|
||||||
|
if (fBuffers.CountItems() == 0)
|
||||||
|
delete[] data;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
buffer->data = data;
|
buffer->data = data;
|
||||||
|
|||||||
Reference in New Issue
Block a user