From: Aurelien Jacobs Date: Sun, 5 Sep 2010 21:37:40 +0000 (+0000) Subject: matroskadec: allow uint and float elements with length = 0 X-Git-Tag: v0.7b1~2326 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4a194c8f4793b094432fc6b33f0fb7a587c3f605;p=platform%2Fupstream%2Flibav.git matroskadec: allow uint and float elements with length = 0 Originally committed as revision 25044 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 5de60fa..888f099 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -583,7 +583,7 @@ static int ebml_read_uint(ByteIOContext *pb, int size, uint64_t *num) { int n = 0; - if (size < 1 || size > 8) + if (size > 8) return AVERROR_INVALIDDATA; /* big-endian ordering; build up number */ @@ -600,7 +600,9 @@ static int ebml_read_uint(ByteIOContext *pb, int size, uint64_t *num) */ static int ebml_read_float(ByteIOContext *pb, int size, double *num) { - if (size == 4) { + if (size == 0) { + *num = 0; + } else if (size == 4) { *num= av_int2flt(get_be32(pb)); } else if(size==8){ *num= av_int2dbl(get_be64(pb));