aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2015-06-08 17:19:25 -0300
committerJanne Grunau <janne-libav@jannau.net>2015-06-09 10:07:11 +0200
commitb380337020e271c5431aa8ef8f8e9dfda5e919b2 (patch)
treec1fbfa81c9424847ac777186cbd6cdf5997795cd
parent210921722bf828b3b895ebcbc34374e6c4452c6f (diff)
downloadffmpeg-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.c8
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;