Merge commit '8a26ae5f94e613dbf7eb8e3c60462e966e409cdc'
[ffmpeg.git] / libavformat / mpjpegdec.c
index 7075c83..b8281fc 100644 (file)
@@ -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)
@@ -102,7 +102,6 @@ static int mpjpeg_read_probe(AVProbeData *p)
         }
     }
 
-end:
     av_free(pb);
 
     return ret;
@@ -124,6 +123,8 @@ static int mpjpeg_read_header(AVFormatContext *s)
         return AVERROR_INVALIDDATA;
 
     st = avformat_new_stream(s, NULL);
+    if (!st)
+        return AVERROR(ENOMEM);
 
     st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
     st->codec->codec_id   = AV_CODEC_ID_MJPEG;