aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2014-12-15 04:32:58 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-01-20 03:27:17 +0100
commitb9510b3274cf1e37079aafdeacf020818908d989 (patch)
treef928f03716e79ec23b58f1014e0a08a30c09ec90
parent30099bf0f01486b54aeea772ed21315dab731479 (diff)
downloadffmpeg-b9510b3274cf1e37079aafdeacf020818908d989.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>
-rw-r--r--libavutil/frame.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavutil/frame.c b/libavutil/frame.c
index 747aa79b8f..32a41fb61b 100644
--- a/libavutil/frame.c
+++ b/libavutil/frame.c
@@ -487,6 +487,7 @@ int av_frame_copy_props(AVFrame *dst, const AVFrame *src)
av_dict_free(&dst->side_data[i]->metadata);
}
av_freep(&dst->side_data);
+ dst->nb_side_data = 0;
return AVERROR(ENOMEM);
}
memcpy(sd_dst->data, sd_src->data, sd_src->size);