diff options
author | wm4 <nfxjfg@googlemail.com> | 2014-12-15 04:32:58 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-12-20 02:25:54 +0100 |
commit | 14d6ea0c459ca22b818977859d2476783fcc7d1a (patch) | |
tree | 85afcaef081a718f566c6a23da48c8446c550ce2 /libavutil/frame.c | |
parent | 0fb2b616142e42a3384cafc4281dfa196c7b4be6 (diff) | |
download | ffmpeg-14d6ea0c459ca22b818977859d2476783fcc7d1a.tar.gz |
lavu/frame: fix malloc error path in av_frame_copy_props()
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>
(cherry picked from commit a400edbb6d00c0211de38e4f1b4f593681db91d8)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/frame.c')
-rw-r--r-- | libavutil/frame.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavutil/frame.c b/libavutil/frame.c index 4ee06306ce..5c9aa2914c 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -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); |