Use separate variables for 'model' and 'relabel' properties.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/conf/domain_conf.c | 20 ++++++++------------
src/util/virseclabel.h | 1 +
2 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 24de57005c..df0d033d0b 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -7800,15 +7800,15 @@ static virSecurityLabelDef *
virSecurityLabelDefParseXML(xmlXPathContextPtr ctxt,
unsigned int flags)
{
- char *p;
+ g_autofree char *model = NULL;
+ g_autofree char *relabel = NULL;
virSecurityLabelDef *seclabel = NULL;
- p = virXMLPropStringLimit(ctxt->node, "model",
- VIR_SECURITY_MODEL_BUFLEN - 1);
+ model = virXMLPropStringLimit(ctxt->node, "model",
+ VIR_SECURITY_MODEL_BUFLEN - 1);
- if (!(seclabel = virSecurityLabelDefNew(p)))
+ if (!(seclabel = virSecurityLabelDefNew(model)))
goto error;
- VIR_FREE(p);
/* set default value */
seclabel->type = VIR_DOMAIN_SECLABEL_DYNAMIC;
@@ -7823,16 +7823,13 @@ virSecurityLabelDefParseXML(xmlXPathContextPtr ctxt,
seclabel->type == VIR_DOMAIN_SECLABEL_NONE)
seclabel->relabel = false;
- VIR_FREE(p);
- p = virXMLPropString(ctxt->node, "relabel");
- if (p) {
- if (virStringParseYesNo(p, &seclabel->relabel) < 0) {
+ if ((relabel = virXMLPropString(ctxt->node, "relabel"))) {
+ if (virStringParseYesNo(relabel, &seclabel->relabel) < 0) {
virReportError(VIR_ERR_XML_ERROR,
- _("invalid security relabel value %s"), p);
+ _("invalid security relabel value '%s'"),
relabel);
goto error;
}
}
- VIR_FREE(p);
if (seclabel->type == VIR_DOMAIN_SECLABEL_DYNAMIC &&
!seclabel->relabel) {
@@ -7905,7 +7902,6 @@ virSecurityLabelDefParseXML(xmlXPathContextPtr ctxt,
return seclabel;
error:
- VIR_FREE(p);
virSecurityLabelDefFree(seclabel);
return NULL;
}
diff --git a/src/util/virseclabel.h b/src/util/virseclabel.h
index eca4d09d24..7e62f8a2e2 100644
--- a/src/util/virseclabel.h
+++ b/src/util/virseclabel.h
@@ -43,6 +43,7 @@ struct _virSecurityLabelDef {
};
+
/* Security configuration for device */
typedef struct _virSecurityDeviceLabelDef virSecurityDeviceLabelDef;
struct _virSecurityDeviceLabelDef {
--
2.31.1