From b530e2e351290b8a734b79c4b1165060f6a8484c Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 8 Oct 2014 15:17:08 +0200 Subject: [PATCH] avcodec/vorbisdec: use av_freep(), do not leave stale pointers in memory Signed-off-by: Michael Niedermayer --- libavcodec/vorbisdec.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) 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); }