| https://gitlab.gnome.org/GNOME/glib/-/commit/ea3f17d598d550345e94e4571130e429443e91cb |
| https://gitlab.gnome.org/GNOME/glib/-/issues/2770 |
| |
| From: Emmanuele Bassi <ebassi@gnome.org> |
| Date: Sun, 25 Sep 2022 14:20:24 +0100 |
| Subject: [PATCH] Empty values are not valid GParamSpec |
| |
| The validate() vfunc for GParamSpecParam returns FALSE for empty GValue, |
| which means the is_valid() vfunc should do the same. |
| |
| This avoids a segfault when calling g_param_value_is_valid() on a |
| GParamSpecParam. |
| |
| Fixes: #2770 |
| --- a/gobject/gparamspecs.c |
| +++ b/gobject/gparamspecs.c |
| @@ -894,6 +894,9 @@ param_param_is_valid (GParamSpec *pspec, |
| { |
| GParamSpec *param = value->data[0].v_pointer; |
| |
| + if (param == NULL) |
| + return FALSE; |
| + |
| return g_value_type_compatible (G_PARAM_SPEC_TYPE (param), G_PARAM_SPEC_VALUE_TYPE (pspec)); |
| } |
| |
| GitLab |