]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/vorbisenc.c
vorbisenc: Check the return value of av_frame_clone
[ffmpeg] / libavcodec / vorbisenc.c
index a4ecd8f754774ba2d6d88eca329e2d33c12d0fbf..18a679f2dcadd8e978092aba5b848fcd7b54b51b 100644 (file)
@@ -1093,9 +1093,13 @@ static int vorbis_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
     PutBitContext pb;
 
     if (frame) {
+        AVFrame *clone;
         if ((ret = ff_af_queue_add(&venc->afq, frame)) < 0)
             return ret;
-        ff_bufqueue_add(avctx, &venc->bufqueue, av_frame_clone(frame));
+        clone = av_frame_clone(frame);
+        if (!clone)
+            return AVERROR(ENOMEM);
+        ff_bufqueue_add(avctx, &venc->bufqueue, clone);
     } else
         if (!venc->afq.remaining_samples)
             return 0;