diff options
author | wm4 <wm4@nowhere> | 2014-12-12 17:28:22 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-12-12 17:28:22 +0100 |
commit | 2b337d67a472cf88c9b1a4ee7da07820b8e4a5c9 (patch) | |
tree | f22031e5f6ea6df946375749fc5600d3a32bc65a | |
parent | 5012e5156d0094f33d85caf03db1b368a6456520 (diff) | |
download | mpv-2b337d67a472cf88c9b1a4ee7da07820b8e4a5c9.tar.bz2 mpv-2b337d67a472cf88c9b1a4ee7da07820b8e4a5c9.tar.xz |
Check some mallocs
Fixes #1337.
-rw-r--r-- | demux/demux_lavf.c | 4 | ||||
-rw-r--r-- | video/decode/vd_lavc.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c index 62dcdf3655..e1800295cc 100644 --- a/demux/demux_lavf.c +++ b/demux/demux_lavf.c @@ -286,6 +286,8 @@ static int lavf_check_file(demuxer_t *demuxer, enum demux_check check) .buf_size = 0, .buf = av_mallocz(PROBE_BUF_SIZE + FF_INPUT_BUFFER_PADDING_SIZE), }; + if (!avpd.buf) + return -1; bool final_probe = false; do { @@ -679,6 +681,8 @@ static int demux_open_lavf(demuxer_t *demuxer, enum demux_check check) return -1; avfc = avformat_alloc_context(); + if (!avfc) + return -1; if (lavfdopts->cryptokey) parse_cryptokey(avfc, lavfdopts->cryptokey); diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c index 455ae892db..3201ac85cf 100644 --- a/video/decode/vd_lavc.c +++ b/video/decode/vd_lavc.c @@ -353,6 +353,8 @@ static void init_avctx(struct dec_video *vd, const char *decoder, ctx->hwdec_fmt = 0; ctx->avctx = avcodec_alloc_context3(lavc_codec); AVCodecContext *avctx = ctx->avctx; + if (!ctx->avctx) + return; avctx->bit_rate = 0; avctx->opaque = vd; avctx->codec_type = AVMEDIA_TYPE_VIDEO; @@ -360,6 +362,8 @@ static void init_avctx(struct dec_video *vd, const char *decoder, avctx->refcounted_frames = 1; ctx->pic = av_frame_alloc(); + if (!ctx->pic) + return; if (ctx->hwdec) { avctx->thread_count = 1; |