Commit f43ac027 authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/iirfilter: Make ff_iir_filter_free_state() also zero the freed pointer

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 43fb16cf
...@@ -299,9 +299,9 @@ void ff_iir_filter_flt(const struct FFIIRFilterCoeffs *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) av_cold void ff_iir_filter_free_coeffsp(struct FFIIRFilterCoeffs **coeffsp)
...@@ -349,7 +349,7 @@ int main(void) ...@@ -349,7 +349,7 @@ int main(void)
printf("%6d %6d\n", x[i], y[i]); printf("%6d %6d\n", x[i], y[i]);
ff_iir_filter_free_coeffsp(&fcoeffs); ff_iir_filter_free_coeffsp(&fcoeffs);
ff_iir_filter_free_state(fstate); ff_iir_filter_free_statep(&fstate);
return 0; return 0;
} }
#endif /* TEST */ #endif /* TEST */
...@@ -107,11 +107,11 @@ struct FFIIRFilterState* ff_iir_filter_init_state(int order); ...@@ -107,11 +107,11 @@ struct FFIIRFilterState* ff_iir_filter_init_state(int order);
void ff_iir_filter_free_coeffsp(struct FFIIRFilterCoeffs **coeffs); 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. * Perform IIR filtering on signed 16-bit input samples.
......
...@@ -141,7 +141,7 @@ av_cold void ff_psy_preprocess_end(struct FFPsyPreprocessContext *ctx) ...@@ -141,7 +141,7 @@ av_cold void ff_psy_preprocess_end(struct FFPsyPreprocessContext *ctx)
ff_iir_filter_free_coeffsp(&ctx->fcoeffs); ff_iir_filter_free_coeffsp(&ctx->fcoeffs);
if (ctx->fstate) if (ctx->fstate)
for (i = 0; i < ctx->avctx->channels; i++) 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_freep(&ctx->fstate);
av_free(ctx); av_free(ctx);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment