lavc: do not leak frames in avcodec_decode_audio4
authorLuca Barbato <lu_zero@gentoo.org>
Tue, 7 May 2013 00:02:51 +0000 (02:02 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Tue, 7 May 2013 12:37:32 +0000 (14:37 +0200)
Notwithstanding the return value the frame should be freed if
is not going to be used.

Reported-by: Matthew Wolenetz <wolenetz@chromium.org>
libavcodec/utils.c

index df4e30524d9d3d33859552c309bbfe960b100173..a6a1a653ca64dcabb4281926a80be718189d635e 100644 (file)
@@ -1463,9 +1463,7 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
                 frame->extended_buf    = NULL;
                 frame->nb_extended_buf = 0;
             }
-        }
-
-        if (ret < 0 && frame->data[0])
+        } else if (frame->data[0])
             av_frame_unref(frame);
     }