lavf/concatdec: avoid leaking URLs.

Use av_realloc instead of av_realloc_f to keep the original
array in case of failure: it is freed in full by the fail label.
This commit is contained in:
Nicolas George 2012-12-12 12:15:57 +01:00
parent 75b3911e5a
commit 16c3cb9bbf
1 changed files with 4 additions and 2 deletions

View File

@ -69,9 +69,11 @@ static int add_file(AVFormatContext *avf, char *filename, ConcatFile **rfile,
if (cat->nb_files >= *nb_files_alloc) {
unsigned n = FFMAX(*nb_files_alloc * 2, 16);
if (n <= cat->nb_files ||
!(cat->files = av_realloc_f(cat->files, n, sizeof(*cat->files))))
ConcatFile *new_files;
if (n <= cat->nb_files || n > SIZE_MAX / sizeof(*cat->files) ||
!(new_files = av_realloc(cat->files, n * sizeof(*cat->files))))
return AVERROR(ENOMEM);
cat->files = new_files;
*nb_files_alloc = n;
}