lavu/frame: fix malloc error path in av_frame_copy_props()
authorwm4 <nfxjfg@googlemail.com>
Mon, 15 Dec 2014 03:32:58 +0000 (04:32 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 15 Dec 2014 03:46:30 +0000 (04:46 +0100)
The error path frees all side data, but forgets to reset the side data
count. This can blow up later in av_frame_unref() and free_side_data().

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavutil/frame.c

index 4ee0630..5c9aa29 100644 (file)
@@ -503,6 +503,7 @@ int av_frame_copy_props(AVFrame *dst, const AVFrame *src)
                 free_side_data(&dst->side_data[i]);
             }
             av_freep(&dst->side_data);
+            dst->nb_side_data = 0;
             return AVERROR(ENOMEM);
         }
         memcpy(sd_dst->data, sd_src->data, sd_src->size);