]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/pthread_frame.c
Merge commit '0994e142132200c706f704271b5a7ae81d128f5c'
[ffmpeg] / libavcodec / pthread_frame.c
index e80990558bb3159c8db4e4df1ca46fe893ca9cba..a3fd1fff75828272576f55ca7cba4db1aa8e4384 100644 (file)
@@ -637,8 +637,15 @@ int ff_frame_thread_init(AVCodecContext *avctx)
     }
 
     avctx->internal->thread_ctx = fctx = av_mallocz(sizeof(FrameThreadContext));
+    if (!fctx)
+        return AVERROR(ENOMEM);
 
     fctx->threads = av_mallocz_array(thread_count, sizeof(PerThreadContext));
+    if (!fctx->threads) {
+        av_freep(&avctx->internal->thread_ctx);
+        return AVERROR(ENOMEM);
+    }
+
     pthread_mutex_init(&fctx->buffer_mutex, NULL);
     fctx->delaying = 1;