diff options
author | Seungha Yang <seungha.yang@navercorp.com> | 2019-01-13 00:46:50 +0900 |
---|---|---|
committer | Seungha Yang <seungha.yang@navercorp.com> | 2019-01-13 00:47:07 +0900 |
commit | a2c88ec9dadf4a6d7f5f7b16feb2c5c2e155d72d (patch) | |
tree | bdcd13a496c834dd5dba1a4eafb4db172379e565 | |
parent | 6ffe685b89adadf0e9fbdb06c55376a9b102a1c7 (diff) | |
download | gst-libav-a2c88ec9dadf4a6d7f5f7b16feb2c5c2e155d72d.tar.gz |
avcfg: Fix AVOptionRanges leak
It must be freed with av_opt_freep_ranges as documented.
-rw-r--r-- | ext/libav/gstavcfg.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/ext/libav/gstavcfg.c b/ext/libav/gstavcfg.c index 9236078..9d34462 100644 --- a/ext/libav/gstavcfg.c +++ b/ext/libav/gstavcfg.c @@ -252,10 +252,12 @@ install_opts (GObjectClass * gobject_class, const AVClass ** obj, guint prop_id, if (g_object_class_find_property (gobject_class, name)) continue; - if (av_opt_query_ranges (&r, obj, opt->name, AV_OPT_SEARCH_FAKE_OBJ) >= 0 - && r->nb_ranges == 1) { - min = r->range[0]->value_min; - max = r->range[0]->value_max; + if (av_opt_query_ranges (&r, obj, opt->name, AV_OPT_SEARCH_FAKE_OBJ) >= 0) { + if (r->nb_ranges == 1) { + min = r->range[0]->value_min; + max = r->range[0]->value_max; + } + av_opt_freep_ranges (&r); } help = g_strdup_printf ("%s%s", opt->help, extra_help); |