ref: 532c30c83e429f67eb33b488c0dac38de76adbeb
parent: e71a01064626ae4549019fee73a4518aff75ef6c
author: James Zern <jzern@google.com>
date: Mon Jun 13 13:29:49 EDT 2011
fix corrupt frame leak If setup_token_decoder reported an internal error the memory allocated there would not be freed in the resulting call to _remove_decompressor. Change-Id: Ib459de222d76b1910d6f449cdcd01663447dbdf6
--- a/vp8/decoder/decodframe.c
+++ b/vp8/decoder/decodframe.c
@@ -533,7 +533,10 @@
VP8_COMMON *pc = &pbi->common;
if (pc->multi_token_partition != ONE_PARTITION)
+ {
vpx_free(pbi->mbc);
+ pbi->mbc = NULL;
+ }
}
static void init_frame(VP8D_COMP *pbi)
--- a/vp8/decoder/onyxd_if.c
+++ b/vp8/decoder/onyxd_if.c
@@ -129,6 +129,7 @@
vp8_de_alloc_overlap_lists(pbi);
#endif
vp8_remove_common(&pbi->common);
+ vpx_free(pbi->mbc);
vpx_free(pbi);
}
--
⑨