]> git.sesse.net Git - ffmpeg/commitdiff
avutil/frame: fix potential leaks in av_frame_ref()
authorGil Pedersen <git@gpost.dk>
Wed, 18 Nov 2020 13:05:18 +0000 (13:05 +0000)
committerJames Almer <jamrial@gmail.com>
Thu, 19 Nov 2020 13:12:58 +0000 (10:12 -0300)
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: James Almer <jamrial@gmail.com>
libavutil/frame.c

index 42d30092128439bcc11fbc7762b180a0f80917da..b019779b1a1c7ceeed83fcad9c24f35e9a5ffff6 100644 (file)
@@ -456,17 +456,17 @@ int av_frame_ref(AVFrame *dst, const AVFrame *src)
 
     ret = frame_copy_props(dst, src, 0);
     if (ret < 0)
-        return ret;
+        goto fail;
 
     /* duplicate the frame data if it's not refcounted */
     if (!src->buf[0]) {
         ret = av_frame_get_buffer(dst, 0);
         if (ret < 0)
-            return ret;
+            goto fail;
 
         ret = av_frame_copy(dst, src);
         if (ret < 0)
-            av_frame_unref(dst);
+            goto fail;
 
         return ret;
     }