[FFmpeg-cvslog] avcodec/pthread_frame: Check av_packet_ref() for failure
Michael Niedermayer
git at videolan.org
Mon Feb 6 02:02:23 EET 2017
ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Sun Feb 5 15:09:52 2017 +0100| [1e5cfad57e88d168f50794e1523abfa477ad9aed] | committer: Michael Niedermayer
avcodec/pthread_frame: Check av_packet_ref() for failure
Fixes CID1396242
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1e5cfad57e88d168f50794e1523abfa477ad9aed
---
libavcodec/pthread_frame.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
index cb6d762..272587f 100644
--- a/libavcodec/pthread_frame.c
+++ b/libavcodec/pthread_frame.c
@@ -312,6 +312,7 @@ static int submit_packet(PerThreadContext *p, AVPacket *avpkt)
FrameThreadContext *fctx = p->parent;
PerThreadContext *prev_thread = fctx->prev_thread;
const AVCodec *codec = p->avctx->codec;
+ int ret;
if (!avpkt->size && !(codec->capabilities & AV_CODEC_CAP_DELAY))
return 0;
@@ -337,7 +338,12 @@ static int submit_packet(PerThreadContext *p, AVPacket *avpkt)
}
av_packet_unref(&p->avpkt);
- av_packet_ref(&p->avpkt, avpkt);
+ ret = av_packet_ref(&p->avpkt, avpkt);
+ if (ret < 0) {
+ pthread_mutex_unlock(&p->mutex);
+ av_log(p->avctx, AV_LOG_ERROR, "av_packet_ref() failed in submit_packet()\n");
+ return ret;
+ }
p->state = STATE_SETTING_UP;
pthread_cond_signal(&p->input_cond);
More information about the ffmpeg-cvslog
mailing list