esx: use g_autofree for char* where it is trivially possible
All of these strings are allocated once, freed once, and are never returned out of the function where they are created, used, and are freed. Signed-off-by: Laine Stump <laine@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
945132f842
commit
213662813c
@ -139,8 +139,8 @@ esxParseVMXFileName(const char *fileName,
|
|||||||
char *datastoreName;
|
char *datastoreName;
|
||||||
char *tmp;
|
char *tmp;
|
||||||
char *saveptr;
|
char *saveptr;
|
||||||
char *strippedFileName = NULL;
|
g_autofree char *strippedFileName = NULL;
|
||||||
char *copyOfFileName = NULL;
|
g_autofree char *copyOfFileName = NULL;
|
||||||
char *directoryAndFileName;
|
char *directoryAndFileName;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
@ -253,8 +253,6 @@ esxParseVMXFileName(const char *fileName,
|
|||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ObjectContent_Free(&datastoreList);
|
esxVI_ObjectContent_Free(&datastoreList);
|
||||||
esxVI_DatastoreHostMount_Free(&hostMount);
|
esxVI_DatastoreHostMount_Free(&hostMount);
|
||||||
VIR_FREE(strippedFileName);
|
|
||||||
VIR_FREE(copyOfFileName);
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -280,8 +278,8 @@ esxFormatVMXFileName(const char *fileName, void *opaque)
|
|||||||
bool success = false;
|
bool success = false;
|
||||||
char *result = NULL;
|
char *result = NULL;
|
||||||
esxVMX_Data *data = opaque;
|
esxVMX_Data *data = opaque;
|
||||||
char *datastoreName = NULL;
|
g_autofree char *datastoreName = NULL;
|
||||||
char *directoryAndFileName = NULL;
|
g_autofree char *directoryAndFileName = NULL;
|
||||||
esxVI_ObjectContent *datastore = NULL;
|
esxVI_ObjectContent *datastore = NULL;
|
||||||
esxVI_DatastoreHostMount *hostMount = NULL;
|
esxVI_DatastoreHostMount *hostMount = NULL;
|
||||||
char separator = '/';
|
char separator = '/';
|
||||||
@ -349,8 +347,6 @@ esxFormatVMXFileName(const char *fileName, void *opaque)
|
|||||||
if (! success)
|
if (! success)
|
||||||
VIR_FREE(result);
|
VIR_FREE(result);
|
||||||
|
|
||||||
VIR_FREE(datastoreName);
|
|
||||||
VIR_FREE(directoryAndFileName);
|
|
||||||
esxVI_ObjectContent_Free(&datastore);
|
esxVI_ObjectContent_Free(&datastore);
|
||||||
esxVI_DatastoreHostMount_Free(&hostMount);
|
esxVI_DatastoreHostMount_Free(&hostMount);
|
||||||
|
|
||||||
@ -613,9 +609,9 @@ esxConnectToHost(esxPrivate *priv,
|
|||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
g_autofree char *ipAddress = NULL;
|
g_autofree char *ipAddress = NULL;
|
||||||
char *username = NULL;
|
g_autofree char *username = NULL;
|
||||||
char *password = NULL;
|
g_autofree char *password = NULL;
|
||||||
char *url = NULL;
|
g_autofree char *url = NULL;
|
||||||
esxVI_String *propertyNameList = NULL;
|
esxVI_String *propertyNameList = NULL;
|
||||||
esxVI_ObjectContent *hostSystem = NULL;
|
esxVI_ObjectContent *hostSystem = NULL;
|
||||||
esxVI_Boolean inMaintenanceMode = esxVI_Boolean_Undefined;
|
esxVI_Boolean inMaintenanceMode = esxVI_Boolean_Undefined;
|
||||||
@ -683,9 +679,6 @@ esxConnectToHost(esxPrivate *priv,
|
|||||||
result = 0;
|
result = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(username);
|
|
||||||
VIR_FREE(password);
|
|
||||||
VIR_FREE(url);
|
|
||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ObjectContent_Free(&hostSystem);
|
esxVI_ObjectContent_Free(&hostSystem);
|
||||||
|
|
||||||
@ -703,9 +696,9 @@ esxConnectToVCenter(esxPrivate *priv,
|
|||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
g_autofree char *ipAddress = NULL;
|
g_autofree char *ipAddress = NULL;
|
||||||
char *username = NULL;
|
g_autofree char *username = NULL;
|
||||||
char *password = NULL;
|
g_autofree char *password = NULL;
|
||||||
char *url = NULL;
|
g_autofree char *url = NULL;
|
||||||
|
|
||||||
if (!hostSystemIPAddress &&
|
if (!hostSystemIPAddress &&
|
||||||
(!priv->parsedUri->path || STREQ(priv->parsedUri->path, "/"))) {
|
(!priv->parsedUri->path || STREQ(priv->parsedUri->path, "/"))) {
|
||||||
@ -761,10 +754,6 @@ esxConnectToVCenter(esxPrivate *priv,
|
|||||||
result = 0;
|
result = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(username);
|
|
||||||
VIR_FREE(password);
|
|
||||||
VIR_FREE(url);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -822,7 +811,7 @@ esxConnectOpen(virConnectPtr conn, virConnectAuthPtr auth,
|
|||||||
{
|
{
|
||||||
virDrvOpenStatus result = VIR_DRV_OPEN_ERROR;
|
virDrvOpenStatus result = VIR_DRV_OPEN_ERROR;
|
||||||
esxPrivate *priv = NULL;
|
esxPrivate *priv = NULL;
|
||||||
char *potentialVCenterIPAddress = NULL;
|
g_autofree char *potentialVCenterIPAddress = NULL;
|
||||||
g_autofree char *vCenterIPAddress = NULL;
|
g_autofree char *vCenterIPAddress = NULL;
|
||||||
|
|
||||||
virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
|
virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
|
||||||
@ -938,8 +927,6 @@ esxConnectOpen(virConnectPtr conn, virConnectAuthPtr auth,
|
|||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
esxFreePrivate(&priv);
|
esxFreePrivate(&priv);
|
||||||
VIR_FREE(potentialVCenterIPAddress);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1472,7 +1459,7 @@ esxDomainLookupByUUID(virConnectPtr conn, const unsigned char *uuid)
|
|||||||
esxVI_ObjectContent *virtualMachine = NULL;
|
esxVI_ObjectContent *virtualMachine = NULL;
|
||||||
esxVI_VirtualMachinePowerState powerState;
|
esxVI_VirtualMachinePowerState powerState;
|
||||||
int id = -1;
|
int id = -1;
|
||||||
char *name = NULL;
|
g_autofree char *name = NULL;
|
||||||
virDomainPtr domain = NULL;
|
virDomainPtr domain = NULL;
|
||||||
|
|
||||||
if (esxVI_EnsureSession(priv->primary) < 0)
|
if (esxVI_EnsureSession(priv->primary) < 0)
|
||||||
@ -1498,8 +1485,6 @@ esxDomainLookupByUUID(virConnectPtr conn, const unsigned char *uuid)
|
|||||||
cleanup:
|
cleanup:
|
||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
VIR_FREE(name);
|
|
||||||
|
|
||||||
return domain;
|
return domain;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1559,7 +1544,7 @@ esxDomainSuspend(virDomainPtr domain)
|
|||||||
esxVI_VirtualMachinePowerState powerState;
|
esxVI_VirtualMachinePowerState powerState;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
if (esxVI_EnsureSession(priv->primary) < 0)
|
if (esxVI_EnsureSession(priv->primary) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
@ -1599,8 +1584,6 @@ esxDomainSuspend(virDomainPtr domain)
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1616,7 +1599,7 @@ esxDomainResume(virDomainPtr domain)
|
|||||||
esxVI_VirtualMachinePowerState powerState;
|
esxVI_VirtualMachinePowerState powerState;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
if (esxVI_EnsureSession(priv->primary) < 0)
|
if (esxVI_EnsureSession(priv->primary) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
@ -1656,8 +1639,6 @@ esxDomainResume(virDomainPtr domain)
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1767,7 +1748,7 @@ esxDomainDestroyFlags(virDomainPtr domain,
|
|||||||
esxVI_VirtualMachinePowerState powerState;
|
esxVI_VirtualMachinePowerState powerState;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
virCheckFlags(0, -1);
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
@ -1816,8 +1797,6 @@ esxDomainDestroyFlags(virDomainPtr domain,
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1902,7 +1881,7 @@ esxDomainSetMaxMemory(virDomainPtr domain, unsigned long memory)
|
|||||||
esxVI_VirtualMachineConfigSpec *spec = NULL;
|
esxVI_VirtualMachineConfigSpec *spec = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
if (esxVI_EnsureSession(priv->primary) < 0)
|
if (esxVI_EnsureSession(priv->primary) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
@ -1954,8 +1933,6 @@ esxDomainSetMaxMemory(virDomainPtr domain, unsigned long memory)
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_VirtualMachineConfigSpec_Free(&spec);
|
esxVI_VirtualMachineConfigSpec_Free(&spec);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1972,7 +1949,7 @@ esxDomainSetMemoryFlags(virDomainPtr domain,
|
|||||||
esxVI_VirtualMachineConfigSpec *spec = NULL;
|
esxVI_VirtualMachineConfigSpec *spec = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
virCheckFlags(0, -1);
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
@ -2013,8 +1990,6 @@ esxDomainSetMemoryFlags(virDomainPtr domain,
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_VirtualMachineConfigSpec_Free(&spec);
|
esxVI_VirtualMachineConfigSpec_Free(&spec);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2434,7 +2409,7 @@ esxDomainSetVcpusFlags(virDomainPtr domain, unsigned int nvcpus,
|
|||||||
esxVI_VirtualMachineConfigSpec *spec = NULL;
|
esxVI_VirtualMachineConfigSpec *spec = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE, -1);
|
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE, -1);
|
||||||
|
|
||||||
@ -2492,8 +2467,6 @@ esxDomainSetVcpusFlags(virDomainPtr domain, unsigned int nvcpus,
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_VirtualMachineConfigSpec_Free(&spec);
|
esxVI_VirtualMachineConfigSpec_Free(&spec);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2574,14 +2547,14 @@ esxDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
|
|||||||
esxVI_ObjectContent *virtualMachine = NULL;
|
esxVI_ObjectContent *virtualMachine = NULL;
|
||||||
esxVI_VirtualMachinePowerState powerState;
|
esxVI_VirtualMachinePowerState powerState;
|
||||||
int id;
|
int id;
|
||||||
char *moref = NULL;
|
g_autofree char *moref = NULL;
|
||||||
char *vmPathName = NULL;
|
char *vmPathName = NULL;
|
||||||
char *datastoreName = NULL;
|
g_autofree char *datastoreName = NULL;
|
||||||
char *directoryName = NULL;
|
g_autofree char *directoryName = NULL;
|
||||||
char *directoryAndFileName = NULL;
|
g_autofree char *directoryAndFileName = NULL;
|
||||||
g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER;
|
g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER;
|
||||||
char *url = NULL;
|
g_autofree char *url = NULL;
|
||||||
char *vmx = NULL;
|
g_autofree char *vmx = NULL;
|
||||||
virVMXContext ctx;
|
virVMXContext ctx;
|
||||||
esxVMX_Data data;
|
esxVMX_Data data;
|
||||||
virDomainDefPtr def = NULL;
|
virDomainDefPtr def = NULL;
|
||||||
@ -2655,13 +2628,7 @@ esxDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
|
|||||||
cleanup:
|
cleanup:
|
||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
VIR_FREE(moref);
|
|
||||||
VIR_FREE(datastoreName);
|
|
||||||
VIR_FREE(directoryName);
|
|
||||||
VIR_FREE(directoryAndFileName);
|
|
||||||
VIR_FREE(url);
|
|
||||||
VIR_FREE(data.datastorePathWithoutFileName);
|
VIR_FREE(data.datastorePathWithoutFileName);
|
||||||
VIR_FREE(vmx);
|
|
||||||
virDomainDefFree(def);
|
virDomainDefFree(def);
|
||||||
|
|
||||||
return xml;
|
return xml;
|
||||||
@ -2858,7 +2825,7 @@ esxDomainCreateWithFlags(virDomainPtr domain, unsigned int flags)
|
|||||||
int id = -1;
|
int id = -1;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
virCheckFlags(0, -1);
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
@ -2903,7 +2870,6 @@ esxDomainCreateWithFlags(virDomainPtr domain, unsigned int flags)
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -2923,25 +2889,25 @@ esxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
|
|||||||
{
|
{
|
||||||
esxPrivate *priv = conn->privateData;
|
esxPrivate *priv = conn->privateData;
|
||||||
virDomainDefPtr def = NULL;
|
virDomainDefPtr def = NULL;
|
||||||
char *vmx = NULL;
|
g_autofree char *vmx = NULL;
|
||||||
size_t i;
|
size_t i;
|
||||||
virDomainDiskDefPtr disk = NULL;
|
virDomainDiskDefPtr disk = NULL;
|
||||||
esxVI_ObjectContent *virtualMachine = NULL;
|
esxVI_ObjectContent *virtualMachine = NULL;
|
||||||
int virtualHW_version;
|
int virtualHW_version;
|
||||||
virVMXContext ctx;
|
virVMXContext ctx;
|
||||||
esxVMX_Data data;
|
esxVMX_Data data;
|
||||||
char *datastoreName = NULL;
|
g_autofree char *datastoreName = NULL;
|
||||||
char *directoryName = NULL;
|
g_autofree char *directoryName = NULL;
|
||||||
char *escapedName = NULL;
|
g_autofree char *escapedName = NULL;
|
||||||
g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER;
|
g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER;
|
||||||
char *url = NULL;
|
g_autofree char *url = NULL;
|
||||||
char *datastoreRelatedPath = NULL;
|
char *datastoreRelatedPath = NULL;
|
||||||
esxVI_String *propertyNameList = NULL;
|
esxVI_String *propertyNameList = NULL;
|
||||||
esxVI_ObjectContent *hostSystem = NULL;
|
esxVI_ObjectContent *hostSystem = NULL;
|
||||||
esxVI_ManagedObjectReference *resourcePool = NULL;
|
esxVI_ManagedObjectReference *resourcePool = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
virDomainPtr domain = NULL;
|
virDomainPtr domain = NULL;
|
||||||
const char *src;
|
const char *src;
|
||||||
unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
|
unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
|
||||||
@ -3122,19 +3088,11 @@ esxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
|
|||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virDomainDefFree(def);
|
virDomainDefFree(def);
|
||||||
VIR_FREE(vmx);
|
|
||||||
VIR_FREE(datastoreName);
|
|
||||||
VIR_FREE(directoryName);
|
|
||||||
VIR_FREE(escapedName);
|
|
||||||
VIR_FREE(url);
|
|
||||||
VIR_FREE(datastoreRelatedPath);
|
|
||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ObjectContent_Free(&hostSystem);
|
esxVI_ObjectContent_Free(&hostSystem);
|
||||||
esxVI_ManagedObjectReference_Free(&resourcePool);
|
esxVI_ManagedObjectReference_Free(&resourcePool);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return domain;
|
return domain;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3554,7 +3512,7 @@ esxDomainSetSchedulerParametersFlags(virDomainPtr domain,
|
|||||||
esxVI_SharesInfo *sharesInfo = NULL;
|
esxVI_SharesInfo *sharesInfo = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
virCheckFlags(0, -1);
|
virCheckFlags(0, -1);
|
||||||
@ -3670,8 +3628,6 @@ esxDomainSetSchedulerParametersFlags(virDomainPtr domain,
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_VirtualMachineConfigSpec_Free(&spec);
|
esxVI_VirtualMachineConfigSpec_Free(&spec);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3735,7 +3691,7 @@ esxDomainMigratePerform(virDomainPtr domain,
|
|||||||
esxVI_Event *eventList = NULL;
|
esxVI_Event *eventList = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
virCheckFlags(ESX_MIGRATION_FLAGS, -1);
|
virCheckFlags(ESX_MIGRATION_FLAGS, -1);
|
||||||
|
|
||||||
@ -3850,8 +3806,6 @@ esxDomainMigratePerform(virDomainPtr domain,
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_Event_Free(&eventList);
|
esxVI_Event_Free(&eventList);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4049,7 +4003,7 @@ esxDomainSnapshotCreateXML(virDomainPtr domain, const char *xmlDesc,
|
|||||||
esxVI_VirtualMachineSnapshotTree *snapshotTree = NULL;
|
esxVI_VirtualMachineSnapshotTree *snapshotTree = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
virDomainSnapshotPtr snapshot = NULL;
|
virDomainSnapshotPtr snapshot = NULL;
|
||||||
bool diskOnly = (flags & VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY) != 0;
|
bool diskOnly = (flags & VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY) != 0;
|
||||||
bool quiesce = (flags & VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE) != 0;
|
bool quiesce = (flags & VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE) != 0;
|
||||||
@ -4122,8 +4076,6 @@ esxDomainSnapshotCreateXML(virDomainPtr domain, const char *xmlDesc,
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_VirtualMachineSnapshotTree_Free(&rootSnapshotList);
|
esxVI_VirtualMachineSnapshotTree_Free(&rootSnapshotList);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return snapshot;
|
return snapshot;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4563,7 +4515,7 @@ esxDomainRevertToSnapshot(virDomainSnapshotPtr snapshot, unsigned int flags)
|
|||||||
esxVI_VirtualMachineSnapshotTree *snapshotTree = NULL;
|
esxVI_VirtualMachineSnapshotTree *snapshotTree = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
virCheckFlags(0, -1);
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
@ -4599,8 +4551,6 @@ esxDomainRevertToSnapshot(virDomainSnapshotPtr snapshot, unsigned int flags)
|
|||||||
cleanup:
|
cleanup:
|
||||||
esxVI_VirtualMachineSnapshotTree_Free(&rootSnapshotList);
|
esxVI_VirtualMachineSnapshotTree_Free(&rootSnapshotList);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4616,7 +4566,7 @@ esxDomainSnapshotDelete(virDomainSnapshotPtr snapshot, unsigned int flags)
|
|||||||
esxVI_Boolean removeChildren = esxVI_Boolean_False;
|
esxVI_Boolean removeChildren = esxVI_Boolean_False;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
virCheckFlags(VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN |
|
virCheckFlags(VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN |
|
||||||
VIR_DOMAIN_SNAPSHOT_DELETE_METADATA_ONLY, -1);
|
VIR_DOMAIN_SNAPSHOT_DELETE_METADATA_ONLY, -1);
|
||||||
@ -4663,8 +4613,6 @@ esxDomainSnapshotDelete(virDomainSnapshotPtr snapshot, unsigned int flags)
|
|||||||
cleanup:
|
cleanup:
|
||||||
esxVI_VirtualMachineSnapshotTree_Free(&rootSnapshotList);
|
esxVI_VirtualMachineSnapshotTree_Free(&rootSnapshotList);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4680,7 +4628,7 @@ esxDomainSetMemoryParameters(virDomainPtr domain, virTypedParameterPtr params,
|
|||||||
esxVI_VirtualMachineConfigSpec *spec = NULL;
|
esxVI_VirtualMachineConfigSpec *spec = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
virCheckFlags(0, -1);
|
virCheckFlags(0, -1);
|
||||||
@ -4733,8 +4681,6 @@ esxDomainSetMemoryParameters(virDomainPtr domain, virTypedParameterPtr params,
|
|||||||
esxVI_ObjectContent_Free(&virtualMachine);
|
esxVI_ObjectContent_Free(&virtualMachine);
|
||||||
esxVI_VirtualMachineConfigSpec_Free(&spec);
|
esxVI_VirtualMachineConfigSpec_Free(&spec);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -672,8 +672,8 @@ esxStorageVolLookupByName(virStoragePoolPtr pool,
|
|||||||
{
|
{
|
||||||
virStorageVolPtr volume = NULL;
|
virStorageVolPtr volume = NULL;
|
||||||
esxPrivate *priv = pool->conn->privateData;
|
esxPrivate *priv = pool->conn->privateData;
|
||||||
char *datastorePath = NULL;
|
g_autofree char *datastorePath = NULL;
|
||||||
char *key = NULL;
|
g_autofree char *key = NULL;
|
||||||
|
|
||||||
datastorePath = g_strdup_printf("[%s] %s", pool->name, name);
|
datastorePath = g_strdup_printf("[%s] %s", pool->name, name);
|
||||||
|
|
||||||
@ -686,9 +686,6 @@ esxStorageVolLookupByName(virStoragePoolPtr pool,
|
|||||||
&esxStorageBackendVMFS, NULL);
|
&esxStorageBackendVMFS, NULL);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(datastorePath);
|
|
||||||
VIR_FREE(key);
|
|
||||||
|
|
||||||
return volume;
|
return volume;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -699,9 +696,9 @@ esxStorageVolLookupByPath(virConnectPtr conn, const char *path)
|
|||||||
{
|
{
|
||||||
virStorageVolPtr volume = NULL;
|
virStorageVolPtr volume = NULL;
|
||||||
esxPrivate *priv = conn->privateData;
|
esxPrivate *priv = conn->privateData;
|
||||||
char *datastoreName = NULL;
|
g_autofree char *datastoreName = NULL;
|
||||||
char *directoryAndFileName = NULL;
|
g_autofree char *directoryAndFileName = NULL;
|
||||||
char *key = NULL;
|
g_autofree char *key = NULL;
|
||||||
|
|
||||||
if (esxUtil_ParseDatastorePath(path, &datastoreName, NULL,
|
if (esxUtil_ParseDatastorePath(path, &datastoreName, NULL,
|
||||||
&directoryAndFileName) < 0) {
|
&directoryAndFileName) < 0) {
|
||||||
@ -717,10 +714,6 @@ esxStorageVolLookupByPath(virConnectPtr conn, const char *path)
|
|||||||
&esxStorageBackendVMFS, NULL);
|
&esxStorageBackendVMFS, NULL);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(datastoreName);
|
|
||||||
VIR_FREE(directoryAndFileName);
|
|
||||||
VIR_FREE(key);
|
|
||||||
|
|
||||||
return volume;
|
return volume;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -864,20 +857,20 @@ esxStorageVolCreateXML(virStoragePoolPtr pool,
|
|||||||
esxPrivate *priv = pool->conn->privateData;
|
esxPrivate *priv = pool->conn->privateData;
|
||||||
virStoragePoolDef poolDef;
|
virStoragePoolDef poolDef;
|
||||||
char *tmp;
|
char *tmp;
|
||||||
char *unescapedDatastorePath = NULL;
|
g_autofree char *unescapedDatastorePath = NULL;
|
||||||
char *unescapedDirectoryName = NULL;
|
g_autofree char *unescapedDirectoryName = NULL;
|
||||||
char *unescapedDirectoryAndFileName = NULL;
|
g_autofree char *unescapedDirectoryAndFileName = NULL;
|
||||||
char *directoryName = NULL;
|
g_autofree char *directoryName = NULL;
|
||||||
char *fileName = NULL;
|
g_autofree char *fileName = NULL;
|
||||||
char *datastorePathWithoutFileName = NULL;
|
g_autofree char *datastorePathWithoutFileName = NULL;
|
||||||
char *datastorePath = NULL;
|
g_autofree char *datastorePath = NULL;
|
||||||
esxVI_FileInfo *fileInfo = NULL;
|
esxVI_FileInfo *fileInfo = NULL;
|
||||||
esxVI_FileBackedVirtualDiskSpec *virtualDiskSpec = NULL;
|
esxVI_FileBackedVirtualDiskSpec *virtualDiskSpec = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
char *uuid_string = NULL;
|
g_autofree char *uuid_string = NULL;
|
||||||
char *key = NULL;
|
g_autofree char *key = NULL;
|
||||||
g_autoptr(virStorageVolDef) def = NULL;
|
g_autoptr(virStorageVolDef) def = NULL;
|
||||||
|
|
||||||
virCheckFlags(0, NULL);
|
virCheckFlags(0, NULL);
|
||||||
@ -1045,20 +1038,9 @@ esxStorageVolCreateXML(virStoragePoolPtr pool,
|
|||||||
virtualDiskSpec->adapterType = NULL;
|
virtualDiskSpec->adapterType = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(unescapedDatastorePath);
|
|
||||||
VIR_FREE(unescapedDirectoryName);
|
|
||||||
VIR_FREE(unescapedDirectoryAndFileName);
|
|
||||||
VIR_FREE(directoryName);
|
|
||||||
VIR_FREE(fileName);
|
|
||||||
VIR_FREE(datastorePathWithoutFileName);
|
|
||||||
VIR_FREE(datastorePath);
|
|
||||||
esxVI_FileInfo_Free(&fileInfo);
|
esxVI_FileInfo_Free(&fileInfo);
|
||||||
esxVI_FileBackedVirtualDiskSpec_Free(&virtualDiskSpec);
|
esxVI_FileBackedVirtualDiskSpec_Free(&virtualDiskSpec);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
VIR_FREE(uuid_string);
|
|
||||||
VIR_FREE(key);
|
|
||||||
|
|
||||||
return volume;
|
return volume;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1073,21 +1055,21 @@ esxStorageVolCreateXMLFrom(virStoragePoolPtr pool,
|
|||||||
virStorageVolPtr volume = NULL;
|
virStorageVolPtr volume = NULL;
|
||||||
esxPrivate *priv = pool->conn->privateData;
|
esxPrivate *priv = pool->conn->privateData;
|
||||||
virStoragePoolDef poolDef;
|
virStoragePoolDef poolDef;
|
||||||
char *sourceDatastorePath = NULL;
|
g_autofree char *sourceDatastorePath = NULL;
|
||||||
char *tmp;
|
char *tmp;
|
||||||
char *unescapedDatastorePath = NULL;
|
g_autofree char *unescapedDatastorePath = NULL;
|
||||||
char *unescapedDirectoryName = NULL;
|
g_autofree char *unescapedDirectoryName = NULL;
|
||||||
char *unescapedDirectoryAndFileName = NULL;
|
g_autofree char *unescapedDirectoryAndFileName = NULL;
|
||||||
char *directoryName = NULL;
|
g_autofree char *directoryName = NULL;
|
||||||
char *fileName = NULL;
|
g_autofree char *fileName = NULL;
|
||||||
char *datastorePathWithoutFileName = NULL;
|
g_autofree char *datastorePathWithoutFileName = NULL;
|
||||||
char *datastorePath = NULL;
|
g_autofree char *datastorePath = NULL;
|
||||||
esxVI_FileInfo *fileInfo = NULL;
|
esxVI_FileInfo *fileInfo = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
char *uuid_string = NULL;
|
g_autofree char *uuid_string = NULL;
|
||||||
char *key = NULL;
|
g_autofree char *key = NULL;
|
||||||
g_autoptr(virStorageVolDef) def = NULL;
|
g_autoptr(virStorageVolDef) def = NULL;
|
||||||
|
|
||||||
virCheckFlags(0, NULL);
|
virCheckFlags(0, NULL);
|
||||||
@ -1219,20 +1201,8 @@ esxStorageVolCreateXMLFrom(virStoragePoolPtr pool,
|
|||||||
&esxStorageBackendVMFS, NULL);
|
&esxStorageBackendVMFS, NULL);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(sourceDatastorePath);
|
|
||||||
VIR_FREE(unescapedDatastorePath);
|
|
||||||
VIR_FREE(unescapedDirectoryName);
|
|
||||||
VIR_FREE(unescapedDirectoryAndFileName);
|
|
||||||
VIR_FREE(directoryName);
|
|
||||||
VIR_FREE(fileName);
|
|
||||||
VIR_FREE(datastorePathWithoutFileName);
|
|
||||||
VIR_FREE(datastorePath);
|
|
||||||
esxVI_FileInfo_Free(&fileInfo);
|
esxVI_FileInfo_Free(&fileInfo);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
VIR_FREE(uuid_string);
|
|
||||||
VIR_FREE(key);
|
|
||||||
|
|
||||||
return volume;
|
return volume;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1243,10 +1213,10 @@ esxStorageVolDelete(virStorageVolPtr volume, unsigned int flags)
|
|||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
esxPrivate *priv = volume->conn->privateData;
|
esxPrivate *priv = volume->conn->privateData;
|
||||||
char *datastorePath = NULL;
|
g_autofree char *datastorePath = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
virCheckFlags(0, -1);
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
@ -1271,10 +1241,7 @@ esxStorageVolDelete(virStorageVolPtr volume, unsigned int flags)
|
|||||||
result = 0;
|
result = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(datastorePath);
|
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1285,10 +1252,10 @@ esxStorageVolWipe(virStorageVolPtr volume, unsigned int flags)
|
|||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
esxPrivate *priv = volume->conn->privateData;
|
esxPrivate *priv = volume->conn->privateData;
|
||||||
char *datastorePath = NULL;
|
g_autofree char *datastorePath = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
|
|
||||||
virCheckFlags(0, -1);
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
@ -1313,10 +1280,7 @@ esxStorageVolWipe(virStorageVolPtr volume, unsigned int flags)
|
|||||||
result = 0;
|
result = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(datastorePath);
|
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1328,7 +1292,7 @@ esxStorageVolGetInfo(virStorageVolPtr volume,
|
|||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
esxPrivate *priv = volume->conn->privateData;
|
esxPrivate *priv = volume->conn->privateData;
|
||||||
char *datastorePath = NULL;
|
g_autofree char *datastorePath = NULL;
|
||||||
esxVI_FileInfo *fileInfo = NULL;
|
esxVI_FileInfo *fileInfo = NULL;
|
||||||
esxVI_VmDiskFileInfo *vmDiskFileInfo = NULL;
|
esxVI_VmDiskFileInfo *vmDiskFileInfo = NULL;
|
||||||
|
|
||||||
@ -1358,7 +1322,6 @@ esxStorageVolGetInfo(virStorageVolPtr volume,
|
|||||||
result = 0;
|
result = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(datastorePath);
|
|
||||||
esxVI_FileInfo_Free(&fileInfo);
|
esxVI_FileInfo_Free(&fileInfo);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -1372,7 +1335,7 @@ esxStorageVolGetXMLDesc(virStorageVolPtr volume,
|
|||||||
{
|
{
|
||||||
esxPrivate *priv = volume->conn->privateData;
|
esxPrivate *priv = volume->conn->privateData;
|
||||||
virStoragePoolDef pool;
|
virStoragePoolDef pool;
|
||||||
char *datastorePath = NULL;
|
g_autofree char *datastorePath = NULL;
|
||||||
esxVI_FileInfo *fileInfo = NULL;
|
esxVI_FileInfo *fileInfo = NULL;
|
||||||
esxVI_VmDiskFileInfo *vmDiskFileInfo = NULL;
|
esxVI_VmDiskFileInfo *vmDiskFileInfo = NULL;
|
||||||
esxVI_IsoImageFileInfo *isoImageFileInfo = NULL;
|
esxVI_IsoImageFileInfo *isoImageFileInfo = NULL;
|
||||||
@ -1438,7 +1401,6 @@ esxStorageVolGetXMLDesc(virStorageVolPtr volume,
|
|||||||
xml = virStorageVolDefFormat(&pool, &def);
|
xml = virStorageVolDefFormat(&pool, &def);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(datastorePath);
|
|
||||||
esxVI_FileInfo_Free(&fileInfo);
|
esxVI_FileInfo_Free(&fileInfo);
|
||||||
VIR_FREE(def.key);
|
VIR_FREE(def.key);
|
||||||
|
|
||||||
|
@ -395,8 +395,8 @@ esxStreamOpen(virStreamPtr stream, esxPrivate *priv, const char *url,
|
|||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
esxStreamPrivate *streamPriv;
|
esxStreamPrivate *streamPriv;
|
||||||
char *range = NULL;
|
g_autofree char *range = NULL;
|
||||||
char *userpwd = NULL;
|
g_autofree char *userpwd = NULL;
|
||||||
esxVI_MultiCURL *multi = NULL;
|
esxVI_MultiCURL *multi = NULL;
|
||||||
|
|
||||||
/* FIXME: Although there is already some code in place to deal with
|
/* FIXME: Although there is already some code in place to deal with
|
||||||
@ -467,9 +467,6 @@ esxStreamOpen(virStreamPtr stream, esxPrivate *priv, const char *url,
|
|||||||
esxFreeStreamPrivate(&streamPriv);
|
esxFreeStreamPrivate(&streamPriv);
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(range);
|
|
||||||
VIR_FREE(userpwd);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,7 +207,7 @@ esxUtil_ParseDatastorePath(const char *datastorePath, char **datastoreName,
|
|||||||
char **directoryName, char **directoryAndFileName)
|
char **directoryName, char **directoryAndFileName)
|
||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
char *copyOfDatastorePath = NULL;
|
g_autofree char *copyOfDatastorePath = NULL;
|
||||||
char *tmp = NULL;
|
char *tmp = NULL;
|
||||||
char *saveptr = NULL;
|
char *saveptr = NULL;
|
||||||
char *preliminaryDatastoreName = NULL;
|
char *preliminaryDatastoreName = NULL;
|
||||||
@ -270,8 +270,6 @@ esxUtil_ParseDatastorePath(const char *datastorePath, char **datastoreName,
|
|||||||
VIR_FREE(*directoryAndFileName);
|
VIR_FREE(*directoryAndFileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(copyOfDatastorePath);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -429,8 +427,8 @@ esxUtil_ReplaceSpecialWindowsPathChars(char *string)
|
|||||||
char *
|
char *
|
||||||
esxUtil_EscapeDatastoreItem(const char *string)
|
esxUtil_EscapeDatastoreItem(const char *string)
|
||||||
{
|
{
|
||||||
char *replaced;
|
g_autofree char *replaced = NULL;
|
||||||
char *escaped1;
|
g_autofree char *escaped1 = NULL;
|
||||||
char *escaped2 = NULL;
|
char *escaped2 = NULL;
|
||||||
|
|
||||||
replaced = g_strdup(string);
|
replaced = g_strdup(string);
|
||||||
@ -445,9 +443,6 @@ esxUtil_EscapeDatastoreItem(const char *string)
|
|||||||
escaped2 = esxUtil_EscapeBase64(escaped1);
|
escaped2 = esxUtil_EscapeBase64(escaped1);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(replaced);
|
|
||||||
VIR_FREE(escaped1);
|
|
||||||
|
|
||||||
return escaped2;
|
return escaped2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ static int
|
|||||||
esxVI_CURL_Debug(CURL *curl G_GNUC_UNUSED, curl_infotype type,
|
esxVI_CURL_Debug(CURL *curl G_GNUC_UNUSED, curl_infotype type,
|
||||||
char *info, size_t size, void *userdata G_GNUC_UNUSED)
|
char *info, size_t size, void *userdata G_GNUC_UNUSED)
|
||||||
{
|
{
|
||||||
char *buffer = NULL;
|
g_autofree char *buffer = NULL;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The libcurl documentation says:
|
* The libcurl documentation says:
|
||||||
@ -221,8 +221,6 @@ esxVI_CURL_Debug(CURL *curl G_GNUC_UNUSED, curl_infotype type,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(buffer);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -833,7 +831,7 @@ esxVI_Context_Connect(esxVI_Context *ctx, const char *url,
|
|||||||
const char *password, esxUtil_ParsedUri *parsedUri)
|
const char *password, esxUtil_ParsedUri *parsedUri)
|
||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
char *escapedPassword = NULL;
|
g_autofree char *escapedPassword = NULL;
|
||||||
|
|
||||||
if (!ctx || !url || !ipAddress || !username ||
|
if (!ctx || !url || !ipAddress || !username ||
|
||||||
!password || ctx->url || ctx->service || ctx->curl) {
|
!password || ctx->url || ctx->service || ctx->curl) {
|
||||||
@ -965,8 +963,6 @@ esxVI_Context_Connect(esxVI_Context *ctx, const char *url,
|
|||||||
result = 0;
|
result = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(escapedPassword);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1013,7 +1009,7 @@ int
|
|||||||
esxVI_Context_LookupManagedObjectsByPath(esxVI_Context *ctx, const char *path)
|
esxVI_Context_LookupManagedObjectsByPath(esxVI_Context *ctx, const char *path)
|
||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
char *tmp = NULL;
|
g_autofree char *tmp = NULL;
|
||||||
char *saveptr = NULL;
|
char *saveptr = NULL;
|
||||||
char *previousItem = NULL;
|
char *previousItem = NULL;
|
||||||
char *item = NULL;
|
char *item = NULL;
|
||||||
@ -1181,7 +1177,6 @@ esxVI_Context_LookupManagedObjectsByPath(esxVI_Context *ctx, const char *path)
|
|||||||
esxVI_ManagedObjectReference_Free(&root);
|
esxVI_ManagedObjectReference_Free(&root);
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(tmp);
|
|
||||||
esxVI_Folder_Free(&folder);
|
esxVI_Folder_Free(&folder);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -1239,7 +1234,7 @@ esxVI_Context_Execute(esxVI_Context *ctx, const char *methodName,
|
|||||||
int result = -1;
|
int result = -1;
|
||||||
g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER;
|
g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER;
|
||||||
esxVI_Fault *fault = NULL;
|
esxVI_Fault *fault = NULL;
|
||||||
char *xpathExpression = NULL;
|
g_autofree char *xpathExpression = NULL;
|
||||||
xmlXPathContextPtr xpathContext = NULL;
|
xmlXPathContextPtr xpathContext = NULL;
|
||||||
xmlNodePtr responseNode = NULL;
|
xmlNodePtr responseNode = NULL;
|
||||||
|
|
||||||
@ -1401,7 +1396,6 @@ esxVI_Context_Execute(esxVI_Context *ctx, const char *methodName,
|
|||||||
esxVI_Fault_Free(&fault);
|
esxVI_Fault_Free(&fault);
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(xpathExpression);
|
|
||||||
xmlXPathFreeContext(xpathContext);
|
xmlXPathFreeContext(xpathContext);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -1509,7 +1503,7 @@ esxVI_Enumeration_Deserialize(const esxVI_Enumeration *enumeration,
|
|||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
int result = -1;
|
int result = -1;
|
||||||
char *name = NULL;
|
g_autofree char *name = NULL;
|
||||||
|
|
||||||
if (!value) {
|
if (!value) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument"));
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument"));
|
||||||
@ -1534,8 +1528,6 @@ esxVI_Enumeration_Deserialize(const esxVI_Enumeration *enumeration,
|
|||||||
name, esxVI_Type_ToString(enumeration->type));
|
name, esxVI_Type_ToString(enumeration->type));
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(name);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1895,7 +1887,7 @@ esxVI_EnsureSession(esxVI_Context *ctx)
|
|||||||
esxVI_ObjectContent *sessionManager = NULL;
|
esxVI_ObjectContent *sessionManager = NULL;
|
||||||
esxVI_DynamicProperty *dynamicProperty = NULL;
|
esxVI_DynamicProperty *dynamicProperty = NULL;
|
||||||
esxVI_UserSession *currentSession = NULL;
|
esxVI_UserSession *currentSession = NULL;
|
||||||
char *escapedPassword = NULL;
|
g_autofree char *escapedPassword = NULL;
|
||||||
|
|
||||||
if (!ctx->sessionLock) {
|
if (!ctx->sessionLock) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid call, no mutex"));
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid call, no mutex"));
|
||||||
@ -1959,7 +1951,6 @@ esxVI_EnsureSession(esxVI_Context *ctx)
|
|||||||
cleanup:
|
cleanup:
|
||||||
virMutexUnlock(ctx->sessionLock);
|
virMutexUnlock(ctx->sessionLock);
|
||||||
|
|
||||||
VIR_FREE(escapedPassword);
|
|
||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ObjectContent_Free(&sessionManager);
|
esxVI_ObjectContent_Free(&sessionManager);
|
||||||
esxVI_UserSession_Free(¤tSession);
|
esxVI_UserSession_Free(¤tSession);
|
||||||
@ -3378,12 +3369,12 @@ esxVI_LookupFileInfoByDatastorePath(esxVI_Context *ctx,
|
|||||||
esxVI_Occurrence occurrence)
|
esxVI_Occurrence occurrence)
|
||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
char *datastoreName = NULL;
|
g_autofree char *datastoreName = NULL;
|
||||||
char *directoryName = NULL;
|
g_autofree char *directoryName = NULL;
|
||||||
char *directoryAndFileName = NULL;
|
g_autofree char *directoryAndFileName = NULL;
|
||||||
char *fileName = NULL;
|
g_autofree char *fileName = NULL;
|
||||||
size_t length;
|
size_t length;
|
||||||
char *datastorePathWithoutFileName = NULL;
|
g_autofree char *datastorePathWithoutFileName = NULL;
|
||||||
esxVI_String *propertyNameList = NULL;
|
esxVI_String *propertyNameList = NULL;
|
||||||
esxVI_ObjectContent *datastore = NULL;
|
esxVI_ObjectContent *datastore = NULL;
|
||||||
esxVI_ManagedObjectReference *hostDatastoreBrowser = NULL;
|
esxVI_ManagedObjectReference *hostDatastoreBrowser = NULL;
|
||||||
@ -3394,7 +3385,7 @@ esxVI_LookupFileInfoByDatastorePath(esxVI_Context *ctx,
|
|||||||
esxVI_FloppyImageFileQuery *floppyImageFileQuery = NULL;
|
esxVI_FloppyImageFileQuery *floppyImageFileQuery = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
esxVI_TaskInfo *taskInfo = NULL;
|
esxVI_TaskInfo *taskInfo = NULL;
|
||||||
esxVI_HostDatastoreBrowserSearchResults *searchResults = NULL;
|
esxVI_HostDatastoreBrowserSearchResults *searchResults = NULL;
|
||||||
|
|
||||||
@ -3544,17 +3535,11 @@ esxVI_LookupFileInfoByDatastorePath(esxVI_Context *ctx,
|
|||||||
if (searchSpec && searchSpec->matchPattern)
|
if (searchSpec && searchSpec->matchPattern)
|
||||||
searchSpec->matchPattern->value = NULL;
|
searchSpec->matchPattern->value = NULL;
|
||||||
|
|
||||||
VIR_FREE(datastoreName);
|
|
||||||
VIR_FREE(directoryName);
|
|
||||||
VIR_FREE(directoryAndFileName);
|
|
||||||
VIR_FREE(fileName);
|
|
||||||
VIR_FREE(datastorePathWithoutFileName);
|
|
||||||
esxVI_String_Free(&propertyNameList);
|
esxVI_String_Free(&propertyNameList);
|
||||||
esxVI_ObjectContent_Free(&datastore);
|
esxVI_ObjectContent_Free(&datastore);
|
||||||
esxVI_ManagedObjectReference_Free(&hostDatastoreBrowser);
|
esxVI_ManagedObjectReference_Free(&hostDatastoreBrowser);
|
||||||
esxVI_HostDatastoreBrowserSearchSpec_Free(&searchSpec);
|
esxVI_HostDatastoreBrowserSearchSpec_Free(&searchSpec);
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
esxVI_TaskInfo_Free(&taskInfo);
|
esxVI_TaskInfo_Free(&taskInfo);
|
||||||
esxVI_HostDatastoreBrowserSearchResults_Free(&searchResults);
|
esxVI_HostDatastoreBrowserSearchResults_Free(&searchResults);
|
||||||
esxVI_FolderFileQuery_Free(&folderFileQuery);
|
esxVI_FolderFileQuery_Free(&folderFileQuery);
|
||||||
@ -3580,10 +3565,10 @@ esxVI_LookupDatastoreContentByDatastoreName
|
|||||||
esxVI_VmDiskFileQuery *vmDiskFileQuery = NULL;
|
esxVI_VmDiskFileQuery *vmDiskFileQuery = NULL;
|
||||||
esxVI_IsoImageFileQuery *isoImageFileQuery = NULL;
|
esxVI_IsoImageFileQuery *isoImageFileQuery = NULL;
|
||||||
esxVI_FloppyImageFileQuery *floppyImageFileQuery = NULL;
|
esxVI_FloppyImageFileQuery *floppyImageFileQuery = NULL;
|
||||||
char *datastorePath = NULL;
|
g_autofree char *datastorePath = NULL;
|
||||||
esxVI_ManagedObjectReference *task = NULL;
|
esxVI_ManagedObjectReference *task = NULL;
|
||||||
esxVI_TaskInfoState taskInfoState;
|
esxVI_TaskInfoState taskInfoState;
|
||||||
char *taskInfoErrorMessage = NULL;
|
g_autofree char *taskInfoErrorMessage = NULL;
|
||||||
esxVI_TaskInfo *taskInfo = NULL;
|
esxVI_TaskInfo *taskInfo = NULL;
|
||||||
|
|
||||||
ESX_VI_CHECK_ARG_LIST(searchResultsList);
|
ESX_VI_CHECK_ARG_LIST(searchResultsList);
|
||||||
@ -3672,9 +3657,7 @@ esxVI_LookupDatastoreContentByDatastoreName
|
|||||||
esxVI_ObjectContent_Free(&datastore);
|
esxVI_ObjectContent_Free(&datastore);
|
||||||
esxVI_ManagedObjectReference_Free(&hostDatastoreBrowser);
|
esxVI_ManagedObjectReference_Free(&hostDatastoreBrowser);
|
||||||
esxVI_HostDatastoreBrowserSearchSpec_Free(&searchSpec);
|
esxVI_HostDatastoreBrowserSearchSpec_Free(&searchSpec);
|
||||||
VIR_FREE(datastorePath);
|
|
||||||
esxVI_ManagedObjectReference_Free(&task);
|
esxVI_ManagedObjectReference_Free(&task);
|
||||||
VIR_FREE(taskInfoErrorMessage);
|
|
||||||
esxVI_TaskInfo_Free(&taskInfo);
|
esxVI_TaskInfo_Free(&taskInfo);
|
||||||
esxVI_VmDiskFileQuery_Free(&vmDiskFileQuery);
|
esxVI_VmDiskFileQuery_Free(&vmDiskFileQuery);
|
||||||
esxVI_IsoImageFileQuery_Free(&isoImageFileQuery);
|
esxVI_IsoImageFileQuery_Free(&isoImageFileQuery);
|
||||||
@ -3692,7 +3675,7 @@ esxVI_LookupStorageVolumeKeyByDatastorePath(esxVI_Context *ctx,
|
|||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
esxVI_FileInfo *fileInfo = NULL;
|
esxVI_FileInfo *fileInfo = NULL;
|
||||||
char *uuid_string = NULL;
|
g_autofree char *uuid_string = NULL;
|
||||||
|
|
||||||
ESX_VI_CHECK_ARG_LIST(key);
|
ESX_VI_CHECK_ARG_LIST(key);
|
||||||
|
|
||||||
@ -3727,8 +3710,6 @@ esxVI_LookupStorageVolumeKeyByDatastorePath(esxVI_Context *ctx,
|
|||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
esxVI_FileInfo_Free(&fileInfo);
|
esxVI_FileInfo_Free(&fileInfo);
|
||||||
VIR_FREE(uuid_string);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4120,7 +4101,7 @@ esxVI_HandleVirtualMachineQuestion
|
|||||||
g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER;
|
g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER;
|
||||||
esxVI_ElementDescription *answerChoice = NULL;
|
esxVI_ElementDescription *answerChoice = NULL;
|
||||||
int answerIndex = 0;
|
int answerIndex = 0;
|
||||||
char *possibleAnswers = NULL;
|
g_autofree char *possibleAnswers = NULL;
|
||||||
|
|
||||||
if (!blocked) {
|
if (!blocked) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument"));
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument"));
|
||||||
@ -4199,8 +4180,6 @@ esxVI_HandleVirtualMachineQuestion
|
|||||||
result = 0;
|
result = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(possibleAnswers);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@
|
|||||||
int result = -1; \
|
int result = -1; \
|
||||||
const char *methodName = #_name; \
|
const char *methodName = #_name; \
|
||||||
g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; \
|
g_auto(virBuffer) buffer = VIR_BUFFER_INITIALIZER; \
|
||||||
char *request = NULL; \
|
g_autofree char *request = NULL; \
|
||||||
esxVI_Response *response = NULL; \
|
esxVI_Response *response = NULL; \
|
||||||
\
|
\
|
||||||
ESX_VI__METHOD__PARAMETER__THIS__##_this_from_service \
|
ESX_VI__METHOD__PARAMETER__THIS__##_this_from_service \
|
||||||
@ -136,7 +136,6 @@
|
|||||||
result = 0; \
|
result = 0; \
|
||||||
\
|
\
|
||||||
cleanup: \
|
cleanup: \
|
||||||
VIR_FREE(request); \
|
|
||||||
esxVI_Response_Free(&response); \
|
esxVI_Response_Free(&response); \
|
||||||
\
|
\
|
||||||
return result; \
|
return result; \
|
||||||
|
@ -330,7 +330,7 @@ VIR_LOG_INIT("esx.esx_vi_types");
|
|||||||
esxVI_##_type##_Deserialize(xmlNodePtr node, esxVI_##_type **number) \
|
esxVI_##_type##_Deserialize(xmlNodePtr node, esxVI_##_type **number) \
|
||||||
{ \
|
{ \
|
||||||
int result = -1; \
|
int result = -1; \
|
||||||
char *string; \
|
g_autofree char *string = NULL; \
|
||||||
long long value; \
|
long long value; \
|
||||||
\
|
\
|
||||||
if (!number || *number) { \
|
if (!number || *number) { \
|
||||||
@ -374,8 +374,6 @@ VIR_LOG_INIT("esx.esx_vi_types");
|
|||||||
if (result < 0) { \
|
if (result < 0) { \
|
||||||
esxVI_##_type##_Free(number); \
|
esxVI_##_type##_Free(number); \
|
||||||
} \
|
} \
|
||||||
\
|
|
||||||
VIR_FREE(string); \
|
|
||||||
\
|
\
|
||||||
return result; \
|
return result; \
|
||||||
}
|
}
|
||||||
@ -703,7 +701,7 @@ esxVI_GetActualObjectType(xmlNodePtr node, esxVI_Type baseType,
|
|||||||
esxVI_Type *actualType)
|
esxVI_Type *actualType)
|
||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
char *type = NULL;
|
g_autofree char *type = NULL;
|
||||||
|
|
||||||
if (!actualType || *actualType != esxVI_Type_Undefined) {
|
if (!actualType || *actualType != esxVI_Type_Undefined) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument"));
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument"));
|
||||||
@ -732,8 +730,6 @@ esxVI_GetActualObjectType(xmlNodePtr node, esxVI_Type baseType,
|
|||||||
result = 0;
|
result = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
VIR_FREE(type);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user