Module: libav
Branch: master
Commit: c3bd1d60af97e8d2568dac9fcce7bdabb4ff93c8

Author:    Vittorio Giovara <[email protected]>
Committer: Vittorio Giovara <[email protected]>
Date:      Thu Mar 12 15:34:32 2015 +0000

formats: Check memory allocations

---

 libavfilter/formats.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index ea61ed2..4b6b3aa 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -171,8 +171,15 @@ AVFilterFormats *ff_make_format_list(const int *fmts)
         ;
 
     formats               = av_mallocz(sizeof(*formats));
-    if (count)
+    if (!formats)
+        return NULL;
+    if (count) {
         formats->formats  = av_malloc(sizeof(*formats->formats) * count);
+        if (!formats->formats) {
+            av_freep(&formats);
+            return NULL;
+        }
+    }
     formats->nb_formats = count;
     memcpy(formats->formats, fmts, sizeof(*formats->formats) * count);
 
@@ -257,6 +264,8 @@ AVFilterChannelLayouts *ff_all_channel_layouts(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)
 

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to