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
diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c index fec5172..734ab36 100644 --- 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)
diff --git a/vp8/decoder/onyxd_if.c b/vp8/decoder/onyxd_if.c index 23a3c7d..4845cd0 100644 --- 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); }