ffmpeg | branch: master | Andreas Rheinhardt <[email protected]> | Fri Aug 27 13:46:50 2021 +0200| [bcbd84f435f5f449c04f93023eb874e07c76470c] | committer: Andreas Rheinhardt
avformat/utils: Don't allocate zero-sized array It is unnecessary and also ill-defined: av_malloc() returns a 1-byte block of memory in this case, but this is not documented. Signed-off-by: Andreas Rheinhardt <[email protected]> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bcbd84f435f5f449c04f93023eb874e07c76470c --- libavformat/utils.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 264b5b1a4b..b3ff9e95eb 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -3167,15 +3167,19 @@ static int compute_chapters_end(AVFormatContext *s) { unsigned int i; int64_t max_time = 0; - AVChapter **timetable = av_malloc(s->nb_chapters * sizeof(*timetable)); + AVChapter **timetable; - if (!timetable) - return AVERROR(ENOMEM); + if (!s->nb_chapters) + return 0; if (s->duration > 0 && s->start_time < INT64_MAX - s->duration) max_time = s->duration + ((s->start_time == AV_NOPTS_VALUE) ? 0 : s->start_time); + timetable = av_malloc(s->nb_chapters * sizeof(*timetable)); + if (!timetable) + return AVERROR(ENOMEM); + for (i = 0; i < s->nb_chapters; i++) timetable[i] = s->chapters[i]; qsort(timetable, s->nb_chapters, sizeof(*timetable), chapter_start_cmp); _______________________________________________ ffmpeg-cvslog mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
