From ea3f17d598d550345e94e4571130e429443e91cb Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi 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 --- gobject/gparamspecs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gobject/gparamspecs.c b/gobject/gparamspecs.c index f17b3488b9..17b8606572 100644 --- 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