[FFmpeg-devel] [PATCH] mpjpeg: CRLF terminating a sequence of MIME headers should not cause an error
Michael Niedermayer
michaelni at gmx.at
Sat Sep 12 23:53:57 CEST 2015
On Sat, Sep 12, 2015 at 05:05:04PM -0400, Alex Agranovsky wrote:
> Amended: one of the new blocks ended up in a wrong location.
>
> libavformat/mpjpegdec.c | 19 +++++++++++++++----
> 1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/libavformat/mpjpegdec.c b/libavformat/mpjpegdec.c
> index 8413ae7..1661b9d 100644
> --- a/libavformat/mpjpegdec.c
> +++ b/libavformat/mpjpegdec.c
> @@ -43,11 +43,20 @@ static int get_line(AVIOContext *pb, char *line, int line_size)
> 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;
> @@ -67,7 +76,7 @@ static int check_content_type(char *line)
> char *tag, *value;
> int ret = split_tag_value(&tag, &value, line);
>
> - if (ret < 0)
> + if (ret < 0 || tag == NULL || value == NULL)
> return ret;
doesnt this result in a probe score of AVPROBE_SCORE_MAX for an
empty line, or am i misreading the code ?
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Good people do not need laws to tell them to act responsibly, while bad
people will find a way around the laws. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150912/52cd499e/attachment.sig>
More information about the ffmpeg-devel
mailing list