summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-07-29 17:38:43 +0100
committerRichard W.M. Jones <rjones@redhat.com>2011-07-29 17:38:43 +0100
commitbad3f4b54a959685f3c0697238fc5753096834fb (patch)
treec986ae455792ea2950603afa80b3001c10d9f487
parentc70532ab4b3d977ed7484e473107808b22d90a2a (diff)
downloadlibguestfs-bad3f4b54a959685f3c0697238fc5753096834fb.tar.gz
libguestfs-bad3f4b54a959685f3c0697238fc5753096834fb.tar.xz
libguestfs-bad3f4b54a959685f3c0697238fc5753096834fb.zip
Don't fail if HOSTNAME field is missing on Red Hat guests (RHBZ#726739).
-rw-r--r--src/inspect_fs_unix.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/inspect_fs_unix.c b/src/inspect_fs_unix.c
index 2ea29ad8..b8be049b 100644
--- a/src/inspect_fs_unix.c
+++ b/src/inspect_fs_unix.c
@@ -543,11 +543,18 @@ check_hostname_redhat (guestfs_h *g, struct inspect_fs *fs)
{
char *hostname;
+ /* Errors here are not fatal (RHBZ#726739), since it could be
+ * just missing HOSTNAME field in the file.
+ */
+ guestfs_error_handler_cb old_error_cb = g->error_cb;
+ g->error_cb = NULL;
hostname = guestfs_aug_get (g, "/files/etc/sysconfig/network/HOSTNAME");
- if (!hostname)
- return -1;
+ g->error_cb = old_error_cb;
- fs->hostname = hostname; /* freed by guestfs___free_inspect_info */
+ /* This is freed by guestfs___free_inspect_info. Note that hostname
+ * could be NULL because we ignored errors above.
+ */
+ fs->hostname = hostname;
return 0;
}