]> granicus.if.org Git - libvpx/commitdiff
vp8_init: fix NULL dereference on allocation error
authorJames Zern <jzern@google.com>
Sat, 2 Mar 2013 20:45:14 +0000 (12:45 -0800)
committerJames Zern <jzern@google.com>
Sat, 2 Mar 2013 22:46:06 +0000 (14:46 -0800)
Change-Id: I15a6cd014fce8090cdb0441723bd1a90b562579c

vp8/vp8_dx_iface.c

index 1db61f1614c7a4943ca09e1d4bc73f24f496c468..7cda19d32d2eca83c7b16785c52931d4cd621fa6 100644 (file)
@@ -211,21 +211,19 @@ static vpx_codec_err_t vp8_init(vpx_codec_ctx_t *ctx,
         mmap.flags = vp8_mem_req_segs[0].flags;
 
         res = vp8_mmap_alloc(&mmap);
+        if (res != VPX_CODEC_OK) return res;
 
-        if (!res)
-        {
-            vp8_init_ctx(ctx, &mmap);
+        vp8_init_ctx(ctx, &mmap);
 
-            /* initialize number of fragments to zero */
-            ctx->priv->alg_priv->fragments.count = 0;
-            /* is input fragments enabled? */
-            ctx->priv->alg_priv->fragments.enabled =
-                    (ctx->priv->alg_priv->base.init_flags &
-                        VPX_CODEC_USE_INPUT_FRAGMENTS);
+        /* initialize number of fragments to zero */
+        ctx->priv->alg_priv->fragments.count = 0;
+        /* is input fragments enabled? */
+        ctx->priv->alg_priv->fragments.enabled =
+                (ctx->priv->alg_priv->base.init_flags &
+                    VPX_CODEC_USE_INPUT_FRAGMENTS);
 
-            ctx->priv->alg_priv->defer_alloc = 1;
-            /*post processing level initialized to do nothing */
-        }
+        ctx->priv->alg_priv->defer_alloc = 1;
+        /*post processing level initialized to do nothing */
     }
 
     ctx->priv->alg_priv->yv12_frame_buffers.use_frame_threads =