Andreas Rheinhardt: > There would be leaks in case of failure. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > --- > There is unfortunately more of this dynarray_add. > > libavformat/utils.c | 16 ++++++++++++---- > 1 file changed, 12 insertions(+), 4 deletions(-) > > diff --git a/libavformat/utils.c b/libavformat/utils.c > index 0834c80f4e..13b1bc7c78 100644 > --- a/libavformat/utils.c > +++ b/libavformat/utils.c > @@ -4625,7 +4625,7 @@ fail: > AVProgram *av_new_program(AVFormatContext *ac, int id) > { > AVProgram *program = NULL; > - int i; > + int i, ret; > > av_log(ac, AV_LOG_TRACE, "new_program: id=0x%04x\n", id); > > @@ -4637,7 +4637,11 @@ AVProgram *av_new_program(AVFormatContext *ac, int id) > program = av_mallocz(sizeof(AVProgram)); > if (!program) > return NULL; > - dynarray_add(&ac->programs, &ac->nb_programs, program); > + ret = av_dynarray_add_nofree(&ac->programs, &ac->nb_programs, > program); > + if (ret < 0) { > + av_free(program); > + return NULL; > + } > program->discard = AVDISCARD_NONE; > program->pmt_version = -1; > program->id = id; > @@ -4657,7 +4661,7 @@ AVChapter *avpriv_new_chapter(AVFormatContext *s, > int64_t id, AVRational time_ba > int64_t start, int64_t end, const char *title) > { > AVChapter *chapter = NULL; > - int i; > + int i, ret; > > if (end != AV_NOPTS_VALUE && start > end) { > av_log(s, AV_LOG_ERROR, "Chapter end time %"PRId64" before start > %"PRId64"\n", end, start); > @@ -4677,7 +4681,11 @@ AVChapter *avpriv_new_chapter(AVFormatContext *s, > int64_t id, AVRational time_ba > chapter = av_mallocz(sizeof(AVChapter)); > if (!chapter) > return NULL; > - dynarray_add(&s->chapters, &s->nb_chapters, chapter); > + ret = av_dynarray_add_nofree(&s->chapters, &s->nb_chapters, chapter); > + if (ret < 0) { > + av_free(chapter); > + return NULL; > + } > } > av_dict_set(&chapter->metadata, "title", title, 0); > chapter->id = id; > Will apply the first two patches of this patchset.
- Andreas _______________________________________________ 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".