[FFmpeg-devel] [PATCH v3 17/24] avcodec/iirfilter: remove FF_ALLOCZ_OR_GOTO and gotos label

lance.lmwang at gmail.com lance.lmwang at gmail.com
Tue Jun 2 18:17:01 EEST 2020


From: Limin Wang <lance.lmwang at gmail.com>

Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
---
 libavcodec/iirfilter.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/libavcodec/iirfilter.c b/libavcodec/iirfilter.c
index 749fa57..ddd42c2 100644
--- a/libavcodec/iirfilter.c
+++ b/libavcodec/iirfilter.c
@@ -171,12 +171,10 @@ av_cold struct FFIIRFilterCoeffs *ff_iir_filter_init_coeffs(void *avc,
     if (order <= 0 || order > MAXORDER || cutoff_ratio >= 1.0)
         return NULL;
 
-    FF_ALLOCZ_OR_GOTO(avc, c, sizeof(FFIIRFilterCoeffs),
-                      init_fail);
-    FF_ALLOC_OR_GOTO(avc, c->cx, sizeof(c->cx[0]) * ((order >> 1) + 1),
-                     init_fail);
-    FF_ALLOC_OR_GOTO(avc, c->cy, sizeof(c->cy[0]) * order,
-                     init_fail);
+    if (!(c     = av_mallocz(sizeof(*c)))                            ||
+        !(c->cx = av_malloc (sizeof(c->cx[0]) * ((order >> 1) + 1))) ||
+        !(c->cy = av_malloc (sizeof(c->cy[0]) * order)))
+         return NULL;
     c->order = order;
 
     switch (filt_type) {
@@ -190,13 +188,11 @@ av_cold struct FFIIRFilterCoeffs *ff_iir_filter_init_coeffs(void *avc,
         break;
     default:
         av_log(avc, AV_LOG_ERROR, "filter type is not currently implemented\n");
-        goto init_fail;
+        return NULL;
     }
 
     if (!ret)
         return c;
-
-init_fail:
     return NULL;
 }
 
-- 
1.8.3.1



More information about the ffmpeg-devel mailing list