aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/frame.c
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2014-12-15 04:32:58 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-12-20 02:25:54 +0100
commit14d6ea0c459ca22b818977859d2476783fcc7d1a (patch)
tree85afcaef081a718f566c6a23da48c8446c550ce2 /libavutil/frame.c
parent0fb2b616142e42a3384cafc4281dfa196c7b4be6 (diff)
downloadffmpeg-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.c1
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);