diff options
author | James Almer <jamrial@gmail.com> | 2015-06-08 17:19:25 -0300 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2015-06-09 10:07:11 +0200 |
commit | b380337020e271c5431aa8ef8f8e9dfda5e919b2 (patch) | |
tree | c1fbfa81c9424847ac777186cbd6cdf5997795cd | |
parent | 210921722bf828b3b895ebcbc34374e6c4452c6f (diff) | |
download | ffmpeg-b380337020e271c5431aa8ef8f8e9dfda5e919b2.tar.gz |
mpjpegdec: don't try to alloc an AVIOContext when probe is guaranteed to fail
The first check is done without the AVIOContext, so alloc it only if said check succeeds
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
-rw-r--r-- | libavformat/mpjpegdec.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libavformat/mpjpegdec.c b/libavformat/mpjpegdec.c index 72891e7cd8..e2a2ece9c4 100644 --- a/libavformat/mpjpegdec.c +++ b/libavformat/mpjpegdec.c @@ -83,13 +83,13 @@ static int mpjpeg_read_probe(AVProbeData *p) char line[128] = { 0 }; int ret = 0; + if (p->buf_size < 2 || p->buf[0] != '-' || p->buf[1] != '-') + return 0; + pb = avio_alloc_context(p->buf, p->buf_size, 0, NULL, NULL, NULL, NULL); if (!pb) return AVERROR(ENOMEM); - if (p->buf_size < 2 || p->buf[0] != '-' || p->buf[1] != '-') - goto end; - while (!pb->eof_reached) { ret = get_line(pb, line, sizeof(line)); if (ret < 0) @@ -101,7 +101,7 @@ static int mpjpeg_read_probe(AVProbeData *p) break; } } -end: + av_free(pb); return ret; |