mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
domain_conf: Reduce scope of tmp in virDomainFeaturesDefParse
Variables using `g_autofree` should not be manually VIR_FREE'd and reused. Signed-off-by: Tim Wiederhake <twiederh@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
a924927c39
commit
94013ee04e
@ -18156,7 +18156,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
xmlXPathContextPtr ctxt)
|
xmlXPathContextPtr ctxt)
|
||||||
{
|
{
|
||||||
g_autofree xmlNodePtr *nodes = NULL;
|
g_autofree xmlNodePtr *nodes = NULL;
|
||||||
g_autofree char *tmp = NULL;
|
|
||||||
xmlNodePtr node = NULL;
|
xmlNodePtr node = NULL;
|
||||||
int gic_version;
|
int gic_version;
|
||||||
size_t i;
|
size_t i;
|
||||||
@ -18166,6 +18165,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
|
g_autofree char *tmp = NULL;
|
||||||
int val = virDomainFeatureTypeFromString((const char *)nodes[i]->name);
|
int val = virDomainFeatureTypeFromString((const char *)nodes[i]->name);
|
||||||
if (val < 0) {
|
if (val < 0) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
@ -18184,7 +18184,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
def->apic_eoi = eoi;
|
def->apic_eoi = eoi;
|
||||||
VIR_FREE(tmp);
|
|
||||||
}
|
}
|
||||||
G_GNUC_FALLTHROUGH;
|
G_GNUC_FALLTHROUGH;
|
||||||
case VIR_DOMAIN_FEATURE_ACPI:
|
case VIR_DOMAIN_FEATURE_ACPI:
|
||||||
@ -18206,7 +18205,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
tmp, virDomainFeatureTypeToString(val));
|
tmp, virDomainFeatureTypeToString(val));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
VIR_FREE(tmp);
|
|
||||||
} else {
|
} else {
|
||||||
def->features[val] = VIR_TRISTATE_SWITCH_ABSENT;
|
def->features[val] = VIR_TRISTATE_SWITCH_ABSENT;
|
||||||
}
|
}
|
||||||
@ -18225,7 +18223,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
tmp, virDomainFeatureTypeToString(val));
|
tmp, virDomainFeatureTypeToString(val));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
VIR_FREE(tmp);
|
|
||||||
} else {
|
} else {
|
||||||
def->features[val] = VIR_TRISTATE_SWITCH_ON;
|
def->features[val] = VIR_TRISTATE_SWITCH_ON;
|
||||||
}
|
}
|
||||||
@ -18240,7 +18237,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
def->gic_version = gic_version;
|
def->gic_version = gic_version;
|
||||||
VIR_FREE(tmp);
|
|
||||||
}
|
}
|
||||||
def->features[val] = VIR_TRISTATE_SWITCH_ON;
|
def->features[val] = VIR_TRISTATE_SWITCH_ON;
|
||||||
break;
|
break;
|
||||||
@ -18256,7 +18252,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
def->features[val] = value;
|
def->features[val] = value;
|
||||||
VIR_FREE(tmp);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -18271,7 +18266,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
def->hpt_resizing = (virDomainHPTResizing) value;
|
def->hpt_resizing = (virDomainHPTResizing) value;
|
||||||
VIR_FREE(tmp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virParseScaledValue("./features/hpt/maxpagesize",
|
if (virParseScaledValue("./features/hpt/maxpagesize",
|
||||||
@ -18305,7 +18299,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
def->features[val] = value;
|
def->features[val] = value;
|
||||||
VIR_FREE(tmp);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -18320,7 +18313,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
def->features[val] = value;
|
def->features[val] = value;
|
||||||
VIR_FREE(tmp);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -18335,7 +18327,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
def->features[val] = value;
|
def->features[val] = value;
|
||||||
VIR_FREE(tmp);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -18354,7 +18345,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
tmp, virDomainFeatureTypeToString(val));
|
tmp, virDomainFeatureTypeToString(val));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
VIR_FREE(tmp);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* coverity[dead_error_begin] */
|
/* coverity[dead_error_begin] */
|
||||||
@ -18372,6 +18362,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
|
g_autofree char *tmp = NULL;
|
||||||
feature = virDomainHypervTypeFromString((const char *)nodes[i]->name);
|
feature = virDomainHypervTypeFromString((const char *)nodes[i]->name);
|
||||||
if (feature < 0) {
|
if (feature < 0) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
@ -18398,7 +18389,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(tmp);
|
|
||||||
def->hyperv_features[feature] = value;
|
def->hyperv_features[feature] = value;
|
||||||
|
|
||||||
switch ((virDomainHyperv) feature) {
|
switch ((virDomainHyperv) feature) {
|
||||||
@ -18477,6 +18467,8 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
|
g_autofree char *tmp = NULL;
|
||||||
|
|
||||||
if (STRNEQ((const char *)nodes[i]->name, "direct")) {
|
if (STRNEQ((const char *)nodes[i]->name, "direct")) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
_("unsupported Hyper-V stimer feature: %s"),
|
_("unsupported Hyper-V stimer feature: %s"),
|
||||||
@ -18498,7 +18490,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(tmp);
|
|
||||||
def->hyperv_stimer_direct = value;
|
def->hyperv_stimer_direct = value;
|
||||||
}
|
}
|
||||||
VIR_FREE(nodes);
|
VIR_FREE(nodes);
|
||||||
@ -18511,6 +18502,8 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
|
g_autofree char *tmp = NULL;
|
||||||
|
|
||||||
feature = virDomainKVMTypeFromString((const char *)nodes[i]->name);
|
feature = virDomainKVMTypeFromString((const char *)nodes[i]->name);
|
||||||
if (feature < 0) {
|
if (feature < 0) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
@ -18539,7 +18532,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(tmp);
|
|
||||||
def->kvm_features[feature] = value;
|
def->kvm_features[feature] = value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -18555,6 +18547,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
int feature;
|
int feature;
|
||||||
int value;
|
int value;
|
||||||
g_autofree char *ptval = NULL;
|
g_autofree char *ptval = NULL;
|
||||||
|
g_autofree char *tmp = NULL;
|
||||||
|
|
||||||
if ((n = virXPathNodeSet("./features/xen/*", ctxt, &nodes)) < 0)
|
if ((n = virXPathNodeSet("./features/xen/*", ctxt, &nodes)) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
@ -18584,7 +18577,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
VIR_FREE(tmp);
|
|
||||||
def->xen_features[feature] = value;
|
def->xen_features[feature] = value;
|
||||||
|
|
||||||
switch ((virDomainXen) feature) {
|
switch ((virDomainXen) feature) {
|
||||||
@ -18638,6 +18630,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (def->features[VIR_DOMAIN_FEATURE_MSRS] == VIR_TRISTATE_SWITCH_ON) {
|
if (def->features[VIR_DOMAIN_FEATURE_MSRS] == VIR_TRISTATE_SWITCH_ON) {
|
||||||
|
g_autofree char *tmp = NULL;
|
||||||
if ((node = virXPathNode("./features/msrs", ctxt)) == NULL)
|
if ((node = virXPathNode("./features/msrs", ctxt)) == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@ -18654,13 +18647,13 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
tmp);
|
tmp);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
VIR_FREE(tmp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((n = virXPathNodeSet("./features/capabilities/*", ctxt, &nodes)) < 0)
|
if ((n = virXPathNodeSet("./features/capabilities/*", ctxt, &nodes)) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
|
g_autofree char *tmp = NULL;
|
||||||
int val = virDomainProcessCapsFeatureTypeFromString((const char *)nodes[i]->name);
|
int val = virDomainProcessCapsFeatureTypeFromString((const char *)nodes[i]->name);
|
||||||
if (val < 0) {
|
if (val < 0) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
@ -18675,7 +18668,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
|
|||||||
tmp, virDomainProcessCapsFeatureTypeToString(val));
|
tmp, virDomainProcessCapsFeatureTypeToString(val));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
VIR_FREE(tmp);
|
|
||||||
} else {
|
} else {
|
||||||
def->caps_features[val] = VIR_TRISTATE_SWITCH_ON;
|
def->caps_features[val] = VIR_TRISTATE_SWITCH_ON;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user