diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c index 354ab0e466..2ad5b4f036 100644 --- a/libavcodec/vorbisdec.c +++ b/libavcodec/vorbisdec.c @@ -196,7 +196,7 @@ static void vorbis_free(vorbis_context *vc) if (vc->residues) for (i = 0; i < vc->residue_count; i++) - av_free(vc->residues[i].classifs); + av_freep(&vc->residues[i].classifs); av_freep(&vc->residues); av_freep(&vc->modes); @@ -205,7 +205,7 @@ static void vorbis_free(vorbis_context *vc) if (vc->codebooks) for (i = 0; i < vc->codebook_count; ++i) { - av_free(vc->codebooks[i].codevectors); + av_freep(&vc->codebooks[i].codevectors); ff_free_vlc(&vc->codebooks[i].vlc); } av_freep(&vc->codebooks); @@ -213,21 +213,21 @@ static void vorbis_free(vorbis_context *vc) if (vc->floors) for (i = 0; i < vc->floor_count; ++i) { if (vc->floors[i].floor_type == 0) { - av_free(vc->floors[i].data.t0.map[0]); - av_free(vc->floors[i].data.t0.map[1]); - av_free(vc->floors[i].data.t0.book_list); - av_free(vc->floors[i].data.t0.lsp); + av_freep(&vc->floors[i].data.t0.map[0]); + av_freep(&vc->floors[i].data.t0.map[1]); + av_freep(&vc->floors[i].data.t0.book_list); + av_freep(&vc->floors[i].data.t0.lsp); } else { - av_free(vc->floors[i].data.t1.list); + av_freep(&vc->floors[i].data.t1.list); } } av_freep(&vc->floors); if (vc->mappings) for (i = 0; i < vc->mapping_count; ++i) { - av_free(vc->mappings[i].magnitude); - av_free(vc->mappings[i].angle); - av_free(vc->mappings[i].mux); + av_freep(&vc->mappings[i].magnitude); + av_freep(&vc->mappings[i].angle); + av_freep(&vc->mappings[i].mux); } av_freep(&vc->mappings); }