Message ID | 20190516223018.30827-7-andreas.rheinhardt@gmail.com |
---|---|
State | Accepted |
Headers | show |
On 5/16/2019 7:29 PM, Andreas Rheinhardt wrote: > and drop the redundant checks contained in ebml_read_uint and > ebml_read_sint. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> > --- > libavformat/matroskadec.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > > diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c > index 6fd5537f5a..927462d3ad 100644 > --- a/libavformat/matroskadec.c > +++ b/libavformat/matroskadec.c > @@ -882,9 +882,6 @@ static int ebml_read_uint(AVIOContext *pb, int size, uint64_t *num) > { > int n = 0; > > - if (size > 8) > - return AVERROR_INVALIDDATA; > - > /* big-endian ordering; build up number */ > *num = 0; > while (n++ < size) > @@ -901,9 +898,6 @@ static int ebml_read_sint(AVIOContext *pb, int size, int64_t *num) > { > int n = 1; > > - if (size > 8) > - return AVERROR_INVALIDDATA; > - > if (size == 0) { > *num = 0; > } else { > @@ -1161,6 +1155,7 @@ static int ebml_parse_elem(MatroskaDemuxContext *matroska, > { > static const uint64_t max_lengths[EBML_TYPE_COUNT] = { > [EBML_UINT] = 8, > + [EBML_SINT] = 8, > [EBML_FLOAT] = 8, > // max. 16 MB for strings > [EBML_STR] = 0x1000000, Applied, thanks.
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 6fd5537f5a..927462d3ad 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -882,9 +882,6 @@ static int ebml_read_uint(AVIOContext *pb, int size, uint64_t *num) { int n = 0; - if (size > 8) - return AVERROR_INVALIDDATA; - /* big-endian ordering; build up number */ *num = 0; while (n++ < size) @@ -901,9 +898,6 @@ static int ebml_read_sint(AVIOContext *pb, int size, int64_t *num) { int n = 1; - if (size > 8) - return AVERROR_INVALIDDATA; - if (size == 0) { *num = 0; } else { @@ -1161,6 +1155,7 @@ static int ebml_parse_elem(MatroskaDemuxContext *matroska, { static const uint64_t max_lengths[EBML_TYPE_COUNT] = { [EBML_UINT] = 8, + [EBML_SINT] = 8, [EBML_FLOAT] = 8, // max. 16 MB for strings [EBML_STR] = 0x1000000,
and drop the redundant checks contained in ebml_read_uint and ebml_read_sint. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> --- libavformat/matroskadec.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)