From 72d431b69f676b5ba0f37dbeca11eeaa3cfd981c Mon Sep 17 00:00:00 2001
From: Dmitry Kovalev <dkovalev@google.com>
Date: Mon, 24 Mar 2014 17:47:25 -0700
Subject: [PATCH] Removing redundant vpx_free() call.

above_seg_context is alreaded freed during vp9_remove_common() call.

Change-Id: I16b72c710e71d2f143df2d47e876d220c8d374e0
---
 vp9/decoder/vp9_decoder.c | 12 +++---------
 vp9/vp9_dx_iface.c        |  3 ++-
 2 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/vp9/decoder/vp9_decoder.c b/vp9/decoder/vp9_decoder.c
index 8769ec022b..c7c096e698 100644
--- a/vp9/decoder/vp9_decoder.c
+++ b/vp9/decoder/vp9_decoder.c
@@ -164,12 +164,10 @@ VP9D_COMP *vp9_create_decompressor(const VP9D_CONFIG *oxcf) {
 }
 
 void vp9_remove_decompressor(VP9D_COMP *pbi) {
+  VP9_COMMON *const cm = &pbi->common;
   int i;
 
-  if (!pbi)
-    return;
-
-  vp9_remove_common(&pbi->common);
+  vp9_remove_common(cm);
   vp9_worker_end(&pbi->lf_worker);
   vpx_free(pbi->lf_worker.data1);
   for (i = 0; i < pbi->num_tile_workers; ++i) {
@@ -181,15 +179,11 @@ void vp9_remove_decompressor(VP9D_COMP *pbi) {
   vpx_free(pbi->tile_workers);
 
   if (pbi->num_tile_workers) {
-    VP9_COMMON *const cm = &pbi->common;
     const int sb_rows =
         mi_cols_aligned_to_sb(cm->mi_rows) >> MI_BLOCK_SIZE_LOG2;
-    VP9LfSync *const lf_sync = &pbi->lf_row_sync;
-
-    vp9_loop_filter_dealloc(lf_sync, sb_rows);
+    vp9_loop_filter_dealloc(&pbi->lf_row_sync, sb_rows);
   }
 
-  vpx_free(pbi->common.above_seg_context);
   vpx_free(pbi);
 }
 
diff --git a/vp9/vp9_dx_iface.c b/vp9/vp9_dx_iface.c
index 2f42a4154d..c5ccaaa9b0 100644
--- a/vp9/vp9_dx_iface.c
+++ b/vp9/vp9_dx_iface.c
@@ -132,7 +132,8 @@ static vpx_codec_err_t vp9_init(vpx_codec_ctx_t *ctx,
 static vpx_codec_err_t vp9_destroy(vpx_codec_alg_priv_t *ctx) {
   int i;
 
-  vp9_remove_decompressor(ctx->pbi);
+  if (ctx->pbi)
+    vp9_remove_decompressor(ctx->pbi);
 
   for (i = NELEMENTS(ctx->mmaps) - 1; i >= 0; i--) {
     if (ctx->mmaps[i].dtor)
-- 
GitLab