Blame SOURCES/0178-lib-Don-t-assert-fail-if-port-is-missing-in-XML-RHBZ.patch

e76f14
From ac74238773ad287eaa2bfb7f4b85e71aa12b124e Mon Sep 17 00:00:00 2001
e76f14
From: "Richard W.M. Jones" <rjones@redhat.com>
e76f14
Date: Sat, 27 Aug 2016 08:51:29 +0100
e76f14
Subject: [PATCH] lib: Don't assert fail if port is missing in XML
e76f14
 (RHBZ#1370424).
e76f14
e76f14
Thanks: Xiaodai Wang
e76f14
(cherry picked from commit 9e7b564fc1d9fa0e99a46e4739614820812ca42b)
e76f14
---
e76f14
 src/libvirt-domain.c | 17 +++++++++++------
e76f14
 1 file changed, 11 insertions(+), 6 deletions(-)
e76f14
e76f14
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
e76f14
index b096fb3..7d5da2f 100644
e76f14
--- a/src/libvirt-domain.c
e76f14
+++ b/src/libvirt-domain.c
e76f14
@@ -604,15 +604,20 @@ for_each_disk (guestfs_h *g,
e76f14
         for (hi = 0; hi < xphost->nodesetval->nodeNr ; hi++) {
e76f14
           xmlChar *name, *port;
e76f14
           xmlNodePtr h = xphost->nodesetval->nodeTab[hi];
e76f14
+          int r;
e76f14
 
e76f14
           assert (h);
e76f14
           assert (h->type == XML_ELEMENT_NODE);
e76f14
-          name = xmlGetProp(h, BAD_CAST "name");
e76f14
-          assert(name);
e76f14
-          port = xmlGetProp(h, BAD_CAST "port");
e76f14
-          assert (port);
e76f14
-          debug (g, _("disk[%zu]: host: %s:%s"), i, name, port);
e76f14
-          if (asprintf(&server[hi], "%s:%s", name, port) == -1) {
e76f14
+          name = xmlGetProp (h, BAD_CAST "name");
e76f14
+          assert (name);        // libvirt checks this
e76f14
+          port = xmlGetProp (h, BAD_CAST "port");
e76f14
+          debug (g, "disk[%zu]: hostname: %s port: %s",
e76f14
+                 i, name, port ? (char *) port : "(not set)");
e76f14
+          if (port)
e76f14
+            r = asprintf (&server[hi], "%s:%s", name, port);
e76f14
+          else
e76f14
+            r = asprintf (&server[hi], "%s", name);
e76f14
+          if (r == -1) {
e76f14
             perrorf (g, "asprintf");
e76f14
             return -1;
e76f14
           }
e76f14
-- 
e76f14
1.8.3.1
e76f14