Since commit
fcbbb28 we steal the pointer to the storage pool
source name if there was no pool name specified.
Properly duplicate the string to avoid freeing it twice.
https://bugzilla.redhat.com/show_bug.cgi?id=
1436400
ret->name = virXPathString("string(./name)", ctxt);
if (ret->name == NULL &&
- options->flags & VIR_STORAGE_POOL_SOURCE_NAME)
- ret->name = ret->source.name;
+ options->flags & VIR_STORAGE_POOL_SOURCE_NAME &&
+ VIR_STRDUP(ret->name, ret->source.name) < 0)
+ goto error;
if (ret->name == NULL) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("missing pool source name element"));
--- /dev/null
+<pool type='logical'>
+ <name>zily</name>
+ <uuid>1c13165a-d0f4-3aee-b447-30fb38789091</uuid>
+ <capacity unit='bytes'>0</capacity>
+ <allocation unit='bytes'>0</allocation>
+ <available unit='bytes'>0</available>
+ <source>
+ <name>zily</name>
+ <format type='lvm2'/>
+ </source>
+ <target>
+ <path>/dev/zily</path>
+ <permissions>
+ <mode>0700</mode>
+ <owner>0</owner>
+ <group>0</group>
+ </permissions>
+ </target>
+</pool>
DO_TEST("pool-logical");
DO_TEST("pool-logical-nopath");
DO_TEST("pool-logical-create");
+ DO_TEST("pool-logical-noname");
DO_TEST("pool-disk");
DO_TEST("pool-disk-device-nopartsep");
DO_TEST("pool-iscsi");