提交 c5b1c143 编写于 作者: P Peter Krempa

virDomainDiskAddISCSIPoolSourceHost: Sanitize handling of string list

Use virStringSplitCount instead of virStringSplit so that we can drop
the call to virStringListLength and use VIR_AUTOSTRINGLIST to declare
it and allow removal of the cleanup section.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 4e3e69fe
......@@ -31329,7 +31329,8 @@ virDomainDiskAddISCSIPoolSourceHost(virDomainDiskDefPtr def,
virStoragePoolDefPtr pooldef)
{
int ret = -1;
char **tokens = NULL;
VIR_AUTOSTRINGLIST tokens = NULL;
size_t ntokens;
/* Only support one host */
if (pooldef->source.nhost != 1) {
......@@ -31350,10 +31351,10 @@ virDomainDiskAddISCSIPoolSourceHost(virDomainDiskDefPtr def,
pooldef->source.hosts[0].port : 3260;
/* iscsi volume has name like "unit:0:0:1" */
if (!(tokens = virStringSplit(def->src->srcpool->volume, ":", 0)))
if (!(tokens = virStringSplitCount(def->src->srcpool->volume, ":", 0, &ntokens)))
goto cleanup;
if (virStringListLength((const char * const *)tokens) != 4) {
if (ntokens != 4) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("unexpected iscsi volume name '%s'"),
def->src->srcpool->volume);
......@@ -31375,7 +31376,6 @@ virDomainDiskAddISCSIPoolSourceHost(virDomainDiskDefPtr def,
ret = 0;
cleanup:
virStringListFree(tokens);
return ret;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册