[Libosinfo] [libosinfo PATCH v2 2/2] tree: cleanup non-fatal errors in load_key_info()

Christophe Fergeau cfergeau at redhat.com
Mon Dec 10 16:05:31 UTC 2018


On Mon, Dec 10, 2018 at 03:52:44PM +0100, Fabiano Fidêncio wrote:
> 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.

Extra 'an' I think ('an situations')

> 
> 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
> 
> _______________________________________________
> Libosinfo mailing list
> Libosinfo at redhat.com
> https://www.redhat.com/mailman/listinfo/libosinfo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libosinfo/attachments/20181210/52657bea/attachment.sig>


More information about the Libosinfo mailing list