diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2016-03-08 18:44:34 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-06-05 17:12:35 +0200 |
commit | 13aae86a2b652360256f52ff292fb2fb0804cbc6 (patch) | |
tree | 2df9bb74751bfa8997087e911d08b46c9eeee436 /libavutil/frame.c | |
parent | 3bc060f36676a738604289fd446069d5e17f979a (diff) | |
download | ffmpeg-13aae86a2b652360256f52ff292fb2fb0804cbc6.tar.gz |
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
Diffstat (limited to 'libavutil/frame.c')
-rw-r--r-- | libavutil/frame.c | 6 |
1 files changed, 6 insertions, 0 deletions
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; |