[Intel-gfx] [PATCH i-g-t v2] lib/igt_core: Handle glib errors correctly to avoid stderr spew

Paul Kocialkowski paul.kocialkowski at linux.intel.com
Thu Jul 20 08:07:42 UTC 2017


This adds the required error clean/free calls after calling
configuration parsing functions. In addition to properly handling memory,
this avoids glib spewing out error messages on stderr, which breaks the
whole CI with this message:

    GLib-WARNING **: GError set over the top of a previous GError or uninitialized memory.
    This indicates a bug in someone's code. You must ensure an error is NULL before it's set.
    The overwriting error message was: Key file does not have group ?DUT?

Fixes: ee31e0b5 ("Introduce common frame dumping configuration...")

Cc: Paul Kocialkowski <paul.kocialkowski at linux.intel.com>
Cc: Lyude <lyude at redhat.com>
Cc: Martin Peres <martin.peres at linux.intel.com>
Signed-off-by: Paul Kocialkowski <paul.kocialkowski at linux.intel.com>
---
 lib/igt_core.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index 028ef6bd..03d9a5bf 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -637,10 +637,16 @@ static int config_parse(void)
 							"FrameDumpPath",
 							&error);
 
+	g_clear_error(&error);
+
 	rc = g_key_file_get_integer(igt_key_file, "DUT", "SuspendResumeDelay",
 				    &error);
-	if (error && error->code == G_KEY_FILE_ERROR_INVALID_VALUE)
+	if (error && error->code == G_KEY_FILE_ERROR_INVALID_VALUE) {
+		g_error_free(error);
 		return -2;
+	}
+
+	g_clear_error(&error);
 
 	if (rc != 0)
 		igt_set_autoresume_delay(rc);
@@ -809,6 +815,7 @@ static int common_init(int *argc, char **argv,
 	ret = g_key_file_load_from_file(igt_key_file, key_file_loc,
 					G_KEY_FILE_NONE, &error);
 	if (error && error->code == G_KEY_FILE_ERROR) {
+		g_error_free(error);
 		g_key_file_free(igt_key_file);
 		igt_key_file = NULL;
 		ret = -2;
@@ -816,6 +823,8 @@ static int common_init(int *argc, char **argv,
 		goto out;
 	}
 
+	g_clear_error(&error);
+
 	ret = config_parse();
 #endif
 
-- 
2.13.2



More information about the Intel-gfx mailing list