[FFmpeg-devel] [PATCH] mpjpegdec: don't try to alloc an AVIOContext when probe is guaranteed to fail

James Almer jamrial at gmail.com
Mon Jun 8 22:40:55 CEST 2015


The first check is done without the AVIOContext, so alloc it only if said check succeeds

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavformat/mpjpegdec.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/libavformat/mpjpegdec.c b/libavformat/mpjpegdec.c
index 56fe159..845e95c 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,6 @@ static int mpjpeg_read_probe(AVProbeData *p)
             break;
         }
     }
-end:
 
     av_free(pb);
 
-- 
2.4.2



More information about the ffmpeg-devel mailing list