[FFmpeg-devel] [PATCH] avcodec/utils: initialize pixel buffer pool

Michael Niedermayer michaelni at gmx.at
Sun Mar 24 03:34:48 CET 2013


This should silence many valgrind warnings about use of uninitialized
data, all the warnings i looked at where false positives having their
uninitialized data not actually used.

The same effect could be achieved by listing all code that touches
the pixel buffer in the valgrind suppression file.
Note, valgrind also fails to trace the origins correctly.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
 libavcodec/utils.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 70c6129..d1b977e 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -408,7 +408,10 @@ static int update_frame_pool(AVCodecContext *avctx, AVFrame *frame)
             av_buffer_pool_uninit(&pool->pools[i]);
             pool->linesize[i] = picture.linesize[i];
             if (size[i]) {
-                pool->pools[i] = av_buffer_pool_init(size[i] + 16, NULL);
+                pool->pools[i] = av_buffer_pool_init(size[i] + 16,
+                                                     CONFIG_MEMORY_POISONING ?
+                                                        NULL :
+                                                        av_buffer_allocz);
                 if (!pool->pools[i]) {
                     ret = AVERROR(ENOMEM);
                     goto fail;
-- 
1.7.9.5



More information about the ffmpeg-devel mailing list