Don't fail if HOSTNAME field is missing on Red Hat guests (RHBZ#726739).
authorRichard W.M. Jones <rjones@redhat.com>
Fri, 29 Jul 2011 16:38:43 +0000 (17:38 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Sun, 7 Aug 2011 20:59:39 +0000 (21:59 +0100)
(cherry picked from commit bad3f4b54a959685f3c0697238fc5753096834fb)

src/inspect_fs_unix.c

index a34d691..fcc907b 100644 (file)
@@ -545,11 +545,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;
 }