avutil/buffer: support memory poisoning
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 24 Mar 2013 00:44:48 +0000 (01:44 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 24 Mar 2013 00:44:48 +0000 (01:44 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavutil/buffer.c

index fc389a5..592527c 100644 (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);