[virt-tools-list] [PATCH 2/2] osinfo-detect: ignore DB loading errors

Daniel P. Berrange berrange at redhat.com
Fri Sep 7 12:25:44 UTC 2012


On Tue, Sep 04, 2012 at 05:07:14PM +0200, Christophe Fergeau wrote:
> osinfo-detect is currently exiting with a failure when a DB loading
> error occurs. However, such errors should not be fatal as they can
> happen when the user put a malformed XML file in
> ~/.local/share/libosinfo. The worse that can happen when this function
> fails is that the OsinfoDB will not be populated, but this shouldn't
> cause memory corruption or crashes, so we can log the error and go on.
> ---
>  tools/osinfo-detect.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/osinfo-detect.c b/tools/osinfo-detect.c
> index 683833f..c21ec5c 100644
> --- a/tools/osinfo-detect.c
> +++ b/tools/osinfo-detect.c
> @@ -208,9 +208,12 @@ gint main(gint argc, gchar **argv)
>      osinfo_loader_process_default_path(loader, &error);
>      if (error != NULL) {
>          g_printerr("Error loading OS data: %s\n", error->message);
> -
> -        ret = -4;
> -        goto EXIT;
> +        /* errors loading the osinfo database are not fatal as this can
> +         * happen when the user has an invalid file in
> +         * ~/.local/share/libosinfo for example. Let's report but ignore
> +         * them
> +         */
> +        g_clear_error(&error);
>      }
>  
>      db = osinfo_loader_get_db(loader);

ACK, i guess this is reasonable.

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the virt-tools-list mailing list