提交 47fa3d39 编写于 作者: J Ján Tomko 提交者: Cole Robinson

conf: do not steal pointers from the pool source

Since commit fcbbb289 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
(cherry picked from commit e9f96909)
上级 987213ac
......@@ -845,8 +845,9 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt)
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"));
......
<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>
......@@ -79,6 +79,7 @@ mymain(void)
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");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册