[FFmpeg-cvslog] libswresample/rematrix: Check for malloc errors

Michael Niedermayer git at videolan.org
Thu Jun 4 02:51:57 CEST 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Jun  4 02:36:30 2015 +0200| [52acd22a7debc19d9f4f27ad55bd17f0d84bdb70] | committer: Michael Niedermayer

libswresample/rematrix: Check for malloc errors

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libswresample/rematrix.c |    8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libswresample/rematrix.c b/libswresample/rematrix.c
index 4569558..54ebb96 100644
--- a/libswresample/rematrix.c
+++ b/libswresample/rematrix.c
@@ -364,6 +364,8 @@ av_cold int swri_rematrix_init(SwrContext *s){
     if (s->midbuf.fmt == AV_SAMPLE_FMT_S16P){
         s->native_matrix = av_calloc(nb_in * nb_out, sizeof(int));
         s->native_one    = av_mallocz(sizeof(int));
+        if (!s->native_matrix || !s->native_one)
+            return AVERROR(ENOMEM);
         for (i = 0; i < nb_out; i++)
             for (j = 0; j < nb_in; j++)
                 ((int*)s->native_matrix)[i * nb_in + j] = lrintf(s->matrix[i][j] * 32768);
@@ -374,6 +376,8 @@ av_cold int swri_rematrix_init(SwrContext *s){
     }else if(s->midbuf.fmt == AV_SAMPLE_FMT_FLTP){
         s->native_matrix = av_calloc(nb_in * nb_out, sizeof(float));
         s->native_one    = av_mallocz(sizeof(float));
+        if (!s->native_matrix || !s->native_one)
+            return AVERROR(ENOMEM);
         for (i = 0; i < nb_out; i++)
             for (j = 0; j < nb_in; j++)
                 ((float*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];
@@ -384,6 +388,8 @@ av_cold int swri_rematrix_init(SwrContext *s){
     }else if(s->midbuf.fmt == AV_SAMPLE_FMT_DBLP){
         s->native_matrix = av_calloc(nb_in * nb_out, sizeof(double));
         s->native_one    = av_mallocz(sizeof(double));
+        if (!s->native_matrix || !s->native_one)
+            return AVERROR(ENOMEM);
         for (i = 0; i < nb_out; i++)
             for (j = 0; j < nb_in; j++)
                 ((double*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];
@@ -395,6 +401,8 @@ av_cold int swri_rematrix_init(SwrContext *s){
         // Only for dithering currently
 //         s->native_matrix = av_calloc(nb_in * nb_out, sizeof(double));
         s->native_one    = av_mallocz(sizeof(int));
+        if (!s->native_one)
+            return AVERROR(ENOMEM);
 //         for (i = 0; i < nb_out; i++)
 //             for (j = 0; j < nb_in; j++)
 //                 ((double*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];



More information about the ffmpeg-cvslog mailing list