summaryrefslogtreecommitdiff
path: root/libavfilter/formats.c
diff options
context:
space:
mode:
authorMina Nagy Zaki <mnzaki@gmail.com>2011-06-07 17:42:32 +0300
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2011-06-08 18:50:07 +0200
commit47d2ca3205b53665328fe301879c339449db7a1d (patch)
tree4885ce2def1e0de1f466e5a01767dbaaed92d26e /libavfilter/formats.c
parent9e4cb03a93593f8ddb8b4ea3c7ee3bf8acb7ea21 (diff)
lavfi: handle NULL lists in avfilter_make_format_list
Diffstat (limited to 'libavfilter/formats.c')
-rw-r--r--libavfilter/formats.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index 101ef09e5f..ec7fca3817 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -73,15 +73,18 @@ AVFilterFormats *avfilter_merge_formats(AVFilterFormats *a, AVFilterFormats *b)
AVFilterFormats *avfilter_make_format_list(const int *fmts)
{
AVFilterFormats *formats;
- int count;
+ int count = 0;
- for (count = 0; fmts[count] != -1; count++)
- ;
+ if (fmts)
+ for (count = 0; fmts[count] != -1; count++)
+ ;
formats = av_mallocz(sizeof(AVFilterFormats));
- formats->formats = av_malloc(sizeof(*formats->formats) * count);
formats->format_count = count;
- memcpy(formats->formats, fmts, sizeof(*formats->formats) * count);
+ if (count) {
+ formats->formats = av_malloc(sizeof(*formats->formats) * count);
+ memcpy(formats->formats, fmts, sizeof(*formats->formats) * count);
+ }
return formats;
}