diff options
author | Michael Niedermayer | 2014-10-14 18:52:51 +0200 |
---|---|---|
committer | Michael Niedermayer | 2014-10-14 20:46:15 +0200 |
commit | f43ac027232f6aeb826d7c29b1dfca9b3876f3ed (patch) | |
tree | a4397fa74ada462b5bff34d114682ca8c63061fc | |
parent | 43fb16cf74718fe6c393c5f20d0bfaea4e3e8cb4 (diff) |
avcodec/iirfilter: Make ff_iir_filter_free_state() also zero the freed pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/iirfilter.c | 6 | ||||
-rw-r--r-- | libavcodec/iirfilter.h | 6 | ||||
-rw-r--r-- | libavcodec/psymodel.c | 2 |
3 files changed, 7 insertions, 7 deletions
diff --git a/libavcodec/iirfilter.c b/libavcodec/iirfilter.c index b47f91d7b4..cb5871cb29 100644 --- a/libavcodec/iirfilter.c +++ b/libavcodec/iirfilter.c @@ -299,9 +299,9 @@ void ff_iir_filter_flt(const struct FFIIRFilterCoeffs *c, } } -av_cold void ff_iir_filter_free_state(struct FFIIRFilterState *state) +av_cold void ff_iir_filter_free_statep(struct FFIIRFilterState **state) { - av_free(state); + av_freep(state); } av_cold void ff_iir_filter_free_coeffsp(struct FFIIRFilterCoeffs **coeffsp) @@ -349,7 +349,7 @@ int main(void) printf("%6d %6d\n", x[i], y[i]); ff_iir_filter_free_coeffsp(&fcoeffs); - ff_iir_filter_free_state(fstate); + ff_iir_filter_free_statep(&fstate); return 0; } #endif /* TEST */ diff --git a/libavcodec/iirfilter.h b/libavcodec/iirfilter.h index cc9a661703..6f7bba67ac 100644 --- a/libavcodec/iirfilter.h +++ b/libavcodec/iirfilter.h @@ -107,11 +107,11 @@ struct FFIIRFilterState* ff_iir_filter_init_state(int order); void ff_iir_filter_free_coeffsp(struct FFIIRFilterCoeffs **coeffs); /** - * Free filter state. + * Free and zero filter state. * - * @param state pointer allocated with ff_iir_filter_init_state() + * @param state pointer to pointer allocated with ff_iir_filter_init_state() */ -void ff_iir_filter_free_state(struct FFIIRFilterState *state); +void ff_iir_filter_free_statep(struct FFIIRFilterState **state); /** * Perform IIR filtering on signed 16-bit input samples. diff --git a/libavcodec/psymodel.c b/libavcodec/psymodel.c index e7f3353c55..059cbefe37 100644 --- a/libavcodec/psymodel.c +++ b/libavcodec/psymodel.c @@ -141,7 +141,7 @@ av_cold void ff_psy_preprocess_end(struct FFPsyPreprocessContext *ctx) ff_iir_filter_free_coeffsp(&ctx->fcoeffs); if (ctx->fstate) for (i = 0; i < ctx->avctx->channels; i++) - ff_iir_filter_free_state(ctx->fstate[i]); + ff_iir_filter_free_statep(&ctx->fstate[i]); av_freep(&ctx->fstate); av_free(ctx); } |