diff options
author | Emmanuele Bassi <ebassi@gmail.com> | 2019-10-28 19:53:38 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gmail.com> | 2019-10-28 19:53:38 +0000 |
commit | 1ad64e183f156665aa9c18f6f3192da9f918d6f5 (patch) | |
tree | 60c050bcc41f593d5678e35cc7a90312e5ec4c1e | |
parent | c73bd53eb8748d204d496f63fd38ad7680a406b5 (diff) | |
parent | 1a3bba4670e79f9e78fae512ace9191226715e35 (diff) | |
download | glib-1ad64e183f156665aa9c18f6f3192da9f918d6f5.tar.gz |
Merge branch '1911-flags-enums-leak' into 'master'
gparamspecs: Fix type class leaks on error handling paths
See merge request GNOME/glib!1189
-rw-r--r-- | gobject/gparamspecs.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gobject/gparamspecs.c b/gobject/gparamspecs.c index 5d15c26e1..490c7c219 100644 --- a/gobject/gparamspecs.c +++ b/gobject/gparamspecs.c @@ -2092,7 +2092,10 @@ g_param_spec_enum (const gchar *name, blurb, flags); if (espec == NULL) - return NULL; + { + g_type_class_unref (enum_class); + return NULL; + } espec->enum_class = enum_class; espec->default_value = default_value; @@ -2140,7 +2143,10 @@ g_param_spec_flags (const gchar *name, blurb, flags); if (fspec == NULL) - return NULL; + { + g_type_class_unref (flags_class); + return NULL; + } fspec->flags_class = flags_class; fspec->default_value = default_value; |