summaryrefslogtreecommitdiff
path: root/libavfilter/formats.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/formats.c')
-rw-r--r--libavfilter/formats.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index eb3b87a56c..f25328ca2d 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -281,12 +281,13 @@ int ff_fmt_is_in(int fmt, const int *fmts)
for (count = 0; fmts[count] != -1; count++) \
; \
formats = av_mallocz(sizeof(*formats)); \
- if (!formats) return NULL; \
+ if (!formats) \
+ return NULL; \
formats->count_field = count; \
if (count) { \
formats->field = av_malloc_array(count, sizeof(*formats->field)); \
if (!formats->field) { \
- av_free(formats); \
+ av_freep(&formats); \
return NULL; \
} \
}
@@ -415,6 +416,8 @@ AVFilterChannelLayouts *ff_all_channel_counts(void)
do { \
*ref = f; \
f->refs = av_realloc(f->refs, sizeof(*f->refs) * ++f->refcount); \
+ if (!f->refs) \
+ return; \
f->refs[f->refcount-1] = ref; \
} while (0)