From b691135d0c6a2b1cca91adadaf457c2989c6a55d Mon Sep 17 00:00:00 2001 From: Anton Khirnov <anton@khirnov.net> Date: Fri, 19 Oct 2012 20:39:27 +0200 Subject: [PATCH] lavc: remove stats_out from the options table. Since it is declared as a string AVOption, the generic freeing code attempts to free it on codec close. Some codecs might have already freed it elsewhere (or didn't even allocate it with av_malloc() in the first place), so this might lead to an invalid free. There is no point in having this field accessible as an AVOption, so remove it from the options table. Fixes Bug 380. CC: libav-stable@libav.org --- libavcodec/options_table.h | 1 - 1 file changed, 1 deletion(-) diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h index aa26cd361c7..624239e72ec 100644 --- a/libavcodec/options_table.h +++ b/libavcodec/options_table.h @@ -160,7 +160,6 @@ static const AVOption options[]={ {"has_b_frames", NULL, OFFSET(has_b_frames), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX}, {"block_align", NULL, OFFSET(block_align), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX}, {"mpeg_quant", "use MPEG quantizers instead of H.263", OFFSET(mpeg_quant), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, V|E}, -{"stats_out", NULL, OFFSET(stats_out), AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX}, {"qsquish", "how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)", OFFSET(rc_qsquish), AV_OPT_TYPE_FLOAT, {.dbl = DEFAULT }, 0, 99, V|E}, {"rc_qmod_amp", "experimental quantizer modulation", OFFSET(rc_qmod_amp), AV_OPT_TYPE_FLOAT, {.dbl = DEFAULT }, -FLT_MAX, FLT_MAX, V|E}, {"rc_qmod_freq", "experimental quantizer modulation", OFFSET(rc_qmod_freq), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, INT_MAX, V|E}, -- GitLab