Variables using `g_autofree` should not be manually VIR_FREE'd and reused.
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/conf/domain_conf.c | 26 +++++++++-----------------
1 file changed, 9 insertions(+), 17 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index f194909b13..1d0ef17318 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -18156,7 +18156,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
xmlXPathContextPtr ctxt)
{
g_autofree xmlNodePtr *nodes = NULL;
- g_autofree char *tmp = NULL;
xmlNodePtr node = NULL;
int gic_version;
size_t i;
@@ -18166,6 +18165,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
for (i = 0; i < n; i++) {
+ g_autofree char *tmp = NULL;
int val = virDomainFeatureTypeFromString((const char *)nodes[i]->name);
if (val < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
@@ -18184,7 +18184,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
def->apic_eoi = eoi;
- VIR_FREE(tmp);
}
G_GNUC_FALLTHROUGH;
case VIR_DOMAIN_FEATURE_ACPI:
@@ -18206,7 +18205,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
tmp, virDomainFeatureTypeToString(val));
return -1;
}
- VIR_FREE(tmp);
} else {
def->features[val] = VIR_TRISTATE_SWITCH_ABSENT;
}
@@ -18225,7 +18223,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
tmp, virDomainFeatureTypeToString(val));
return -1;
}
- VIR_FREE(tmp);
} else {
def->features[val] = VIR_TRISTATE_SWITCH_ON;
}
@@ -18240,7 +18237,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
def->gic_version = gic_version;
- VIR_FREE(tmp);
}
def->features[val] = VIR_TRISTATE_SWITCH_ON;
break;
@@ -18256,7 +18252,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
def->features[val] = value;
- VIR_FREE(tmp);
}
break;
@@ -18271,7 +18266,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
def->hpt_resizing = (virDomainHPTResizing) value;
- VIR_FREE(tmp);
}
if (virParseScaledValue("./features/hpt/maxpagesize",
@@ -18305,7 +18299,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
def->features[val] = value;
- VIR_FREE(tmp);
}
break;
@@ -18320,7 +18313,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
def->features[val] = value;
- VIR_FREE(tmp);
}
break;
@@ -18335,7 +18327,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
def->features[val] = value;
- VIR_FREE(tmp);
}
break;
@@ -18354,7 +18345,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
tmp, virDomainFeatureTypeToString(val));
return -1;
}
- VIR_FREE(tmp);
break;
/* coverity[dead_error_begin] */
@@ -18372,6 +18362,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
for (i = 0; i < n; i++) {
+ g_autofree char *tmp = NULL;
feature = virDomainHypervTypeFromString((const char *)nodes[i]->name);
if (feature < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
@@ -18398,7 +18389,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
- VIR_FREE(tmp);
def->hyperv_features[feature] = value;
switch ((virDomainHyperv) feature) {
@@ -18477,6 +18467,8 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
for (i = 0; i < n; i++) {
+ g_autofree char *tmp = NULL;
+
if (STRNEQ((const char *)nodes[i]->name, "direct")) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unsupported Hyper-V stimer feature: %s"),
@@ -18498,7 +18490,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
- VIR_FREE(tmp);
def->hyperv_stimer_direct = value;
}
VIR_FREE(nodes);
@@ -18511,6 +18502,8 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
for (i = 0; i < n; i++) {
+ g_autofree char *tmp = NULL;
+
feature = virDomainKVMTypeFromString((const char *)nodes[i]->name);
if (feature < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
@@ -18539,7 +18532,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
- VIR_FREE(tmp);
def->kvm_features[feature] = value;
break;
@@ -18555,6 +18547,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
int feature;
int value;
g_autofree char *ptval = NULL;
+ g_autofree char *tmp = NULL;
if ((n = virXPathNodeSet("./features/xen/*", ctxt, &nodes)) <
0)
return -1;
@@ -18584,7 +18577,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
return -1;
}
- VIR_FREE(tmp);
def->xen_features[feature] = value;
switch ((virDomainXen) feature) {
@@ -18638,6 +18630,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
}
if (def->features[VIR_DOMAIN_FEATURE_MSRS] == VIR_TRISTATE_SWITCH_ON) {
+ g_autofree char *tmp = NULL;
if ((node = virXPathNode("./features/msrs", ctxt)) == NULL)
return -1;
@@ -18654,13 +18647,13 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
tmp);
return -1;
}
- VIR_FREE(tmp);
}
if ((n = virXPathNodeSet("./features/capabilities/*", ctxt, &nodes))
< 0)
return -1;
for (i = 0; i < n; i++) {
+ g_autofree char *tmp = NULL;
int val = virDomainProcessCapsFeatureTypeFromString((const char
*)nodes[i]->name);
if (val < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
@@ -18675,7 +18668,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
tmp, virDomainProcessCapsFeatureTypeToString(val));
return -1;
}
- VIR_FREE(tmp);
} else {
def->caps_features[val] = VIR_TRISTATE_SWITCH_ON;
}
--
2.26.2