]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
storage_backend_fs: Allocate entry for host before accessing it
authorPeter Krempa <pkrempa@redhat.com>
Mon, 9 Jul 2012 12:37:01 +0000 (14:37 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 9 Jul 2012 14:28:16 +0000 (16:28 +0200)
Commit 122fa379de44a2fd0a6d5fbcb634535d647ada17 introduces option to
store more than one host entry in a storage pool source definition. That
commit causes a regression, where a check is added that only one host
entry should be present (that actualy is not present as the source
structure was just allocated and zeroed) instead of allocating memory
for the host entry.

src/storage/storage_backend_fs.c

index 5e3da14963e87fa840e1a1418e6cabb17ed42227..5eb486ef700655333f89f700a1cbe79aea6b2253 100644 (file)
@@ -205,11 +205,11 @@ virStorageBackendFileSystemNetFindPoolSourcesFunc(virStoragePoolObjPtr pool ATTR
     if (!(src = virStoragePoolSourceListNewSource(&state->list)))
         goto cleanup;
 
-    if (src->nhost != 1) {
-        virStorageReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                              _("Expected exactly 1 host for the storage pool"));
+    if (VIR_ALLOC_N(src->hosts, 1) < 0) {
+        virReportOOMError();
         goto cleanup;
     }
+    src->nhost = 1;
 
     if (!(src->hosts[0].name = strdup(state->host)) ||
         !(src->dir = strdup(path))) {