diff options
-rw-r--r-- | libavcodec/pthread_frame.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c index 4f9d68b77b..6af05e2729 100644 --- a/libavcodec/pthread_frame.c +++ b/libavcodec/pthread_frame.c @@ -343,6 +343,10 @@ static int submit_packet(PerThreadContext *p, AVPacket *avpkt) p->avpkt.buf = av_buffer_ref(avpkt->buf); else { av_fast_malloc(&p->buf, &p->allocated_buf_size, avpkt->size + FF_INPUT_BUFFER_PADDING_SIZE); + if (!p->buf) { + pthread_mutex_unlock(&p->mutex); + return AVERROR(ENOMEM); + } p->avpkt.data = p->buf; memcpy(p->buf, avpkt->data, avpkt->size); memset(p->buf + avpkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE); |