From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> As pointed out by Philip Withnall, g_value_set_static_string() must only be used with actual static strings and not with ones whose life-time is tied to that of their owner. Use g_value_set_string() to get the gpiosim properties and rework the existing getter functions returning const gchar * to return the address provided by libgpiosim directly instead of passing through the GObject property path. Suggested-by: Philip Withnall <philip@xxxxxxxxxxxxxxx> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> --- tests/gpiosim-glib/gpiosim-glib.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/tests/gpiosim-glib/gpiosim-glib.c b/tests/gpiosim-glib/gpiosim-glib.c index 4eaeace..27ce019 100644 --- a/tests/gpiosim-glib/gpiosim-glib.c +++ b/tests/gpiosim-glib/gpiosim-glib.c @@ -245,12 +245,11 @@ static void g_gpiosim_chip_get_property(GObject *obj, guint prop_id, switch (prop_id) { case G_GPIOSIM_CHIP_PROP_DEV_PATH: - g_value_set_static_string(val, - gpiosim_bank_get_dev_path(self->bank)); + g_value_set_string(val, gpiosim_bank_get_dev_path(self->bank)); break; case G_GPIOSIM_CHIP_PROP_NAME: - g_value_set_static_string(val, - gpiosim_bank_get_chip_name(self->bank)); + g_value_set_string(val, + gpiosim_bank_get_chip_name(self->bank)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec); @@ -396,27 +395,14 @@ static void g_gpiosim_chip_init(GPIOSimChip *self) self->hogs = NULL; } -static const gchar * -g_gpiosim_chip_get_string_prop(GPIOSimChip *self, const gchar *prop) -{ - GValue val = G_VALUE_INIT; - const gchar *str; - - g_object_get_property(G_OBJECT(self), prop, &val); - str = g_value_get_string(&val); - g_value_unset(&val); - - return str; -} - const gchar *g_gpiosim_chip_get_dev_path(GPIOSimChip *self) { - return g_gpiosim_chip_get_string_prop(self, "dev-path"); + return gpiosim_bank_get_dev_path(self->bank); } const gchar *g_gpiosim_chip_get_name(GPIOSimChip *self) { - return g_gpiosim_chip_get_string_prop(self, "name"); + return gpiosim_bank_get_chip_name(self->bank); } GPIOSimValue -- 2.43.0