From 13aae86a2b652360256f52ff292fb2fb0804cbc6 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 8 Mar 2016 18:44:34 +0100 Subject: avutil/frame: Assert that width/height/channels is 0 for the destination of av_frame*_ref() This should detect caes where these functions are called in unclean destinations --- libavutil/frame.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libavutil') diff --git a/libavutil/frame.c b/libavutil/frame.c index 5607206a09..d5c7c9f32f 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -375,6 +375,9 @@ int av_frame_ref(AVFrame *dst, const AVFrame *src) { int i, ret = 0; + av_assert1(dst->width == 0 && dst->height == 0); + av_assert1(dst->channels == 0); + dst->format = src->format; dst->width = src->width; dst->height = src->height; @@ -504,6 +507,9 @@ void av_frame_unref(AVFrame *frame) void av_frame_move_ref(AVFrame *dst, AVFrame *src) { + av_assert1(dst->width == 0 && dst->height == 0); + av_assert1(dst->channels == 0); + *dst = *src; if (src->extended_data == src->data) dst->extended_data = dst->data; -- cgit v1.2.3