On 9/4/2019 1:21 AM, Carl Eugen Hoyos wrote: > > > Von meinem iPhone gesendet > >> Am 04.09.2019 um 01:03 schrieb James Almer <jamr...@gmail.com>: >> >> Speeds up the process considerably. >> >> Fixes ticket #8109. >> >> Suggested-by: nevcairiel >> Suggested-by: cehoyos >> Signed-off-by: James Almer <jamr...@gmail.com> >> --- >> libavformat/matroskadec.c | 12 ++++++++++-- >> 1 file changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c >> index 439ee462a5..0f227eb33d 100644 >> --- a/libavformat/matroskadec.c >> +++ b/libavformat/matroskadec.c >> @@ -110,6 +110,7 @@ typedef const struct EbmlSyntax { >> >> typedef struct EbmlList { >> int nb_elem; >> + unsigned int alloc_elem_size; >> void *elem; >> } EbmlList; >> >> @@ -1236,8 +1237,14 @@ static int ebml_parse(MatroskaDemuxContext *matroska, >> data = (char *) data + syntax->data_offset; >> if (syntax->list_elem_size) { >> EbmlList *list = data; >> - void *newelem = av_realloc_array(list->elem, list->nb_elem + 1, >> - syntax->list_elem_size); >> + void *newelem; > >> + if ((unsigned)list->nb_elem + 1 >= UINT_MAX / >> syntax->list_elem_size) >> + return AVERROR(ENOMEM); > > I would have naively expected this to use INT_MAX.
The size parameter in av_fast_realloc() is unsigned int. av_add_index_entry() does the exact same check. > > And please reconsider backporting random fixes for issues that are not > regressions. Despite not being a regression, the speed up from this fix on real world files is considerable, so it's worth backporting to at least release/4.2. > > Carl Eugen > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".