avutil/buffer: support memory poisoning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-03-24 01:44:48 +01:00
parent d6f9610853
commit 058c002932

View File

@ -71,6 +71,9 @@ AVBufferRef *av_buffer_alloc(int size)
if (!data)
return NULL;
if(CONFIG_MEMORY_POISONING)
memset(data, 0x2a, size);
ret = av_buffer_create(data, size, av_buffer_default_free, NULL, 0);
if (!ret)
av_freep(&data);
@ -276,6 +279,10 @@ static void pool_release_buffer(void *opaque, uint8_t *data)
{
BufferPoolEntry *buf = opaque;
AVBufferPool *pool = buf->pool;
if(CONFIG_MEMORY_POISONING)
memset(buf->data, 0x2a, pool->size);
add_to_pool(buf);
if (!avpriv_atomic_int_add_and_fetch(&pool->refcount, -1))
buffer_pool_free(pool);