Commit 13aae86a authored by Michael Niedermayer's avatar Michael Niedermayer

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
parent 3bc060f3
...@@ -375,6 +375,9 @@ int av_frame_ref(AVFrame *dst, const AVFrame *src) ...@@ -375,6 +375,9 @@ int av_frame_ref(AVFrame *dst, const AVFrame *src)
{ {
int i, ret = 0; int i, ret = 0;
av_assert1(dst->width == 0 && dst->height == 0);
av_assert1(dst->channels == 0);
dst->format = src->format; dst->format = src->format;
dst->width = src->width; dst->width = src->width;
dst->height = src->height; dst->height = src->height;
...@@ -504,6 +507,9 @@ void av_frame_unref(AVFrame *frame) ...@@ -504,6 +507,9 @@ void av_frame_unref(AVFrame *frame)
void av_frame_move_ref(AVFrame *dst, AVFrame *src) void av_frame_move_ref(AVFrame *dst, AVFrame *src)
{ {
av_assert1(dst->width == 0 && dst->height == 0);
av_assert1(dst->channels == 0);
*dst = *src; *dst = *src;
if (src->extended_data == src->data) if (src->extended_data == src->data)
dst->extended_data = dst->data; dst->extended_data = dst->data;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment