summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungha Yang <seungha.yang@navercorp.com>2019-01-13 00:46:50 +0900
committerSeungha Yang <seungha.yang@navercorp.com>2019-01-13 00:47:07 +0900
commita2c88ec9dadf4a6d7f5f7b16feb2c5c2e155d72d (patch)
treebdcd13a496c834dd5dba1a4eafb4db172379e565
parent6ffe685b89adadf0e9fbdb06c55376a9b102a1c7 (diff)
downloadgst-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.c10
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);