[FFmpeg-cvslog] formats: Check memory allocations

Vittorio Giovara git at videolan.org
Thu Mar 12 23:26:27 CET 2015


ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Thu Mar 12 15:34:32 2015 +0000| [c3bd1d60af97e8d2568dac9fcce7bdabb4ff93c8] | committer: Vittorio Giovara

formats: Check memory allocations

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c3bd1d60af97e8d2568dac9fcce7bdabb4ff93c8
---

 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)
 



More information about the ffmpeg-cvslog mailing list