]> granicus.if.org Git - libvpx/commitdiff
vp9_cyclic_refresh_alloc: correct cleanup on error
authorJames Zern <jzern@google.com>
Wed, 17 Feb 2016 20:36:49 +0000 (12:36 -0800)
committerJames Zern <jzern@google.com>
Wed, 17 Feb 2016 20:36:49 +0000 (12:36 -0800)
previously only the CYCLIC_REFRESH allocation was being freed

Change-Id: I6e1783d077c5ca83c8d62ea9642f1fb03f2e5bf3

vp9/encoder/vp9_aq_cyclicrefresh.c

index b7cfdf6bf4c6d71530c0dd6e811bac2b66b768a9..0a02bde9945fff9782a001de0bb192029682cfb6 100644 (file)
@@ -30,13 +30,13 @@ CYCLIC_REFRESH *vp9_cyclic_refresh_alloc(int mi_rows, int mi_cols) {
 
   cr->map = vpx_calloc(mi_rows * mi_cols, sizeof(*cr->map));
   if (cr->map == NULL) {
-    vpx_free(cr);
+    vp9_cyclic_refresh_free(cr);
     return NULL;
   }
   last_coded_q_map_size = mi_rows * mi_cols * sizeof(*cr->last_coded_q_map);
   cr->last_coded_q_map = vpx_malloc(last_coded_q_map_size);
   if (cr->last_coded_q_map == NULL) {
-    vpx_free(cr);
+    vp9_cyclic_refresh_free(cr);
     return NULL;
   }
   assert(MAXQ <= 255);
@@ -45,7 +45,7 @@ CYCLIC_REFRESH *vp9_cyclic_refresh_alloc(int mi_rows, int mi_cols) {
   consec_zero_mv_size = mi_rows * mi_cols * sizeof(*cr->consec_zero_mv);
   cr->consec_zero_mv = vpx_malloc(consec_zero_mv_size);
   if (cr->consec_zero_mv == NULL) {
-    vpx_free(cr);
+    vp9_cyclic_refresh_free(cr);
     return NULL;
   }
   memset(cr->consec_zero_mv, 0, consec_zero_mv_size);