[Libosinfo] [libosinfo PATCH v2 2/2] tree: cleanup non-fatal errors in load_key_info()
Fabiano Fidêncio
fidencio at redhat.com
Mon Dec 10 14:52:44 UTC 2018
There are errors which are not fatal and just ignored in load_keyinfo.
However, as those have not been cleaned up, we could see messages like:
(lt-osinfo-detect:20658): 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 key “boot.iso”
in group “images-x86_64”
In order to avoid this, let's just call g_clear_error() after an
situations where an error may have been set but it can just be ignored.
Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
---
osinfo/osinfo_tree.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/osinfo/osinfo_tree.c b/osinfo/osinfo_tree.c
index de53714..52b3474 100644
--- a/osinfo/osinfo_tree.c
+++ b/osinfo/osinfo_tree.c
@@ -526,21 +526,25 @@ static OsinfoTree *load_keyinfo(const gchar *location,
if (!(family = g_key_file_get_string(file, "general", "family", error))) {
if (!is_unknown_group_or_key_error(*error))
goto cleanup;
+ g_clear_error(error);
}
if (!(variant = g_key_file_get_string(file, "general", "variant", error))) {
if (!is_unknown_group_or_key_error(*error))
goto cleanup;
+ g_clear_error(error);
}
if (!(version = g_key_file_get_string(file, "general", "version", error))) {
if (!is_unknown_group_or_key_error(*error))
goto cleanup;
+ g_clear_error(error);
}
if (!(arch = g_key_file_get_string(file, "general", "arch", error))) {
if (!is_unknown_group_or_key_error(*error))
goto cleanup;
+ g_clear_error(error);
}
@@ -550,16 +554,19 @@ static OsinfoTree *load_keyinfo(const gchar *location,
if (!(kernel = g_key_file_get_string(file, group, "kernel", error))) {
if (!is_unknown_group_or_key_error(*error))
goto cleanup;
+ g_clear_error(error);
}
if (!(initrd = g_key_file_get_string(file, group, "initrd", error))) {
if (!is_unknown_group_or_key_error(*error))
goto cleanup;
+ g_clear_error(error);
}
if (!(bootiso = g_key_file_get_string(file, group, "boot.iso", error))) {
if (!is_unknown_group_or_key_error(*error))
goto cleanup;
+ g_clear_error(error);
}
}
--
2.19.1
More information about the Libosinfo
mailing list