diff options
author | Paul Kocialkowski <paul.kocialkowski@linux.intel.com> | 2017-07-20 11:07:42 +0300 |
---|---|---|
committer | Arkadiusz Hiler <arkadiusz.hiler@intel.com> | 2017-07-20 11:11:51 +0300 |
commit | a865fee5bbfa573823f758b85116e00934083f93 (patch) | |
tree | 2b11a5b3faff4d6e112ca5f23490652f2bca28fa /lib/igt_core.c | |
parent | de99e15db60864cdb177f8fb380e79bb510ff9ea (diff) |
lib/igt_core: Handle glib errors correctly to avoid stderr spew
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@linux.intel.com>
Cc: Lyude <lyude@redhat.com>
Cc: Martin Peres <martin.peres@linux.intel.com>
Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com>
Diffstat (limited to 'lib/igt_core.c')
-rw-r--r-- | lib/igt_core.c | 11 |
1 files changed, 10 insertions, 1 deletions
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 |