PcmBuffer: reset size in Clear()

Fix for Mantis #3806.

"PcmBuffer::Clear clears the buffer but does not reset the size. If
Get is called on the same PcmBuffer later on with a size that is the
same as (or less than) it was before the call to Clear, the "else"
branch is taken and the memory of buffer (at the address of nullptr)
is poisoned instead of the necessary allocation being performed. A
memset or memcpy on the returned pointer (nullptr) causes a
segmentation fault."
This commit is contained in:
Max Kellermann 2013-08-01 08:33:53 +02:00
parent ba79f4c1f9
commit 105b431e4c

View File

@ -46,6 +46,7 @@ struct PcmBuffer {
void Clear() {
g_free(buffer);
buffer = nullptr;
size = 0;
}
/**