]> xenbits.xensource.com Git - libvirt.git/commitdiff
Do not crash on gluster snapshots with no host name
authorJán Tomko <jtomko@redhat.com>
Wed, 12 Nov 2014 08:34:28 +0000 (09:34 +0100)
committerJán Tomko <jtomko@redhat.com>
Wed, 12 Nov 2014 08:36:31 +0000 (09:36 +0100)
virStorageFileBackendGlusterInit did not check nhosts.

https://bugzilla.redhat.com/show_bug.cgi?id=1162974

src/storage/storage_backend_gluster.c

index 8a7d7e5314bab6ea828df81bc541e04dba85e891..b79b6342045b1903725518f43384e2038d744279 100644 (file)
@@ -571,9 +571,17 @@ virStorageFileBackendGlusterInit(virStorageSourcePtr src)
 {
     virStorageFileBackendGlusterPrivPtr priv = NULL;
     virStorageNetHostDefPtr host = &(src->hosts[0]);
-    const char *hostname = host->name;
+    const char *hostname;
     int port = 0;
 
+    if (src->nhosts != 1) {
+        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+                       _("Expected exactly 1 host for the gluster volume"));
+        return -1;
+    }
+
+    hostname = host->name;
+
     VIR_DEBUG("initializing gluster storage file %p (gluster://%s:%s/%s%s)",
               src, hostname, host->port ? host->port : "0",
               NULLSTR(src->volume), src->path);