[FFmpeg-cvslog] avfilter/buffer: Check for qp_table allocation failure

Michael Niedermayer git at videolan.org
Sun Feb 22 20:33:54 CET 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Feb 22 20:24:22 2015 +0100| [b7e7ee6231bc1f3608ed4005c3e7550ec4815296] | committer: Michael Niedermayer

avfilter/buffer: Check for qp_table allocation failure

Fixes CID1271048
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b7e7ee6231bc1f3608ed4005c3e7550ec4815296
---

 libavfilter/buffer.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libavfilter/buffer.c b/libavfilter/buffer.c
index 43dc669..a5b3b1d 100644
--- a/libavfilter/buffer.c
+++ b/libavfilter/buffer.c
@@ -42,13 +42,19 @@ void ff_avfilter_default_free_buffer(AVFilterBuffer *ptr)
     av_free(ptr);
 }
 
-static void copy_video_props(AVFilterBufferRefVideoProps *dst, AVFilterBufferRefVideoProps *src) {
+static int copy_video_props(AVFilterBufferRefVideoProps *dst, AVFilterBufferRefVideoProps *src) {
     *dst = *src;
     if (src->qp_table) {
         int qsize = src->qp_table_size;
         dst->qp_table = av_malloc(qsize);
+        if (!dst->qp_table) {
+            av_log(NULL, AV_LOG_ERROR, "Failed to allocate qp_table\n");
+            dst->qp_table_size = 0;
+            return AVERROR(ENOMEM);
+        }
         memcpy(dst->qp_table, src->qp_table, qsize);
     }
+    return 0;
 }
 
 AVFilterBufferRef *avfilter_ref_buffer(AVFilterBufferRef *ref, int pmask)



More information about the ffmpeg-cvslog mailing list