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 21:03:09 +0000 (22:03 +0100)
Cherry picked from commit bad3f4b54a959685f3c0697238fc5753096834fb.

src/inspect.c

index e7408b6..ec1a2a0 100644 (file)
@@ -757,11 +757,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;
 }