[FFmpeg-cvslog] mpjpeg: CRLF terminating a sequence of MIME headers should not cause an error

Alex Agranovsky git at videolan.org
Mon Sep 21 02:32:19 CEST 2015


ffmpeg | branch: master | Alex Agranovsky <alex at sighthound.com> | Sat Sep 12 19:04:26 2015 -0400| [53e8bef25a78457e4339e353568004f03b8a2396] | committer: Michael Niedermayer

mpjpeg: CRLF terminating a sequence of MIME headers should not cause an error

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=53e8bef25a78457e4339e353568004f03b8a2396
---

 libavformat/mpjpegdec.c |   15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/libavformat/mpjpegdec.c b/libavformat/mpjpegdec.c
index 4b57fad..c76ea56 100644
--- a/libavformat/mpjpegdec.c
+++ b/libavformat/mpjpegdec.c
@@ -56,11 +56,20 @@ static void trim_right(char* p)
 static int split_tag_value(char **tag, char **value, char *line)
 {
     char *p = line;
+    int  foundData = 0;
 
-    while (*p != '\0' && *p != ':')
+    *tag = NULL;
+    *value = NULL;
+
+
+    while (*p != '\0' && *p != ':') {
+        if (!av_isspace(*p)) {
+            foundData = 1;
+        }
         p++;
+    }
     if (*p != ':')
-        return AVERROR_INVALIDDATA;
+        return foundData ? AVERROR_INVALIDDATA : 0;
 
     *p   = '\0';
     *tag = line;
@@ -167,6 +176,8 @@ static int parse_multipart_header(AVIOContext *pb, void *log_ctx)
         ret = split_tag_value(&tag, &value, line);
         if (ret < 0)
             return ret;
+        if (value==NULL || tag==NULL)
+            break;
 
         if (!av_strcasecmp(tag, "Content-type")) {
             if (av_strcasecmp(value, "image/jpeg")) {



More information about the ffmpeg-cvslog mailing list