From d8f944ed30d7df721f7fff281b9b48fb6730e356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Thu, 22 Apr 2021 10:49:37 +0200 Subject: [PATCH] fbd-dev-leds: Don't leak enum_name g_enum_to_string() is transfer full. --- src/fbd-dev-leds.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/fbd-dev-leds.c b/src/fbd-dev-leds.c index 50984db..ac53832 100644 --- a/src/fbd-dev-leds.c +++ b/src/fbd-dev-leds.c @@ -117,10 +117,12 @@ initable_init (GInitable *initable, color LEDSs so go with fixed colors until the kernel gives us enough information */ for (int i = 0; i <= FBD_FEEDBACK_LED_COLOR_LAST; i++) { - g_autofree gchar *color; + g_autofree char *color = NULL; + g_autofree char *enum_name = NULL; gchar *c; - c = strrchr (g_enum_to_string (FBD_TYPE_FEEDBACK_LED_COLOR, i), '_'); + enum_name = g_enum_to_string (FBD_TYPE_FEEDBACK_LED_COLOR, i); + c = strrchr (enum_name, '_'); color = g_strdup (g_ascii_strdown (c+1, -1)); if (g_strstr_len (name, -1, color)) { g_autoptr (GError) err = NULL;