avutil/frame: Assert that width/height/channels is 0 for the destination of av_frame...
authorMichael Niedermayer <michael@niedermayer.cc>
Tue, 8 Mar 2016 17:44:34 +0000 (18:44 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 5 Jun 2016 15:12:35 +0000 (17:12 +0200)
This should detect caes where these functions are called in unclean destinations

libavutil/frame.c

index 5607206..d5c7c9f 100644 (file)
@@ -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;