[PATCH 03/12] virSecurityLabelDefParseXML: Directly assign strings into appropriate variables

Peter Krempa posted 12 patches 4 years, 2 months ago
[PATCH 03/12] virSecurityLabelDefParseXML: Directly assign strings into appropriate variables
Posted by Peter Krempa 4 years, 2 months ago
'seclabel->label', 'seclabel->imagelabel' and 'seclabel->baselabel' are
populated by stealing the pointer from the 'p' temporary string. Remove
the extra step.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 src/conf/domain_conf.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index ba38d510dd..24de57005c 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -7874,36 +7874,32 @@ virSecurityLabelDefParseXML(xmlXPathContextPtr ctxt,
     if (seclabel->type == VIR_DOMAIN_SECLABEL_STATIC ||
         (!(flags & VIR_DOMAIN_DEF_PARSE_INACTIVE) &&
          seclabel->type != VIR_DOMAIN_SECLABEL_NONE)) {
-        p = virXPathStringLimit("string(./label[1])",
-                                VIR_SECURITY_LABEL_BUFLEN-1, ctxt);
-        if (p == NULL) {
+        seclabel->label = virXPathStringLimit("string(./label[1])",
+                                              VIR_SECURITY_LABEL_BUFLEN-1, ctxt);
+        if (!seclabel->label) {
             virReportError(VIR_ERR_XML_ERROR,
                            "%s", _("security label is missing"));
             goto error;
         }
-
-        seclabel->label = g_steal_pointer(&p);
     }

     /* Only parse imagelabel, if requested live XML with relabeling */
     if (seclabel->relabel &&
         (!(flags & VIR_DOMAIN_DEF_PARSE_INACTIVE) &&
          seclabel->type != VIR_DOMAIN_SECLABEL_NONE)) {
-        p = virXPathStringLimit("string(./imagelabel[1])",
-                                VIR_SECURITY_LABEL_BUFLEN-1, ctxt);
-        if (p == NULL) {
+        seclabel->imagelabel = virXPathStringLimit("string(./imagelabel[1])",
+                                                   VIR_SECURITY_LABEL_BUFLEN-1, ctxt);
+        if (!seclabel->imagelabel) {
             virReportError(VIR_ERR_XML_ERROR,
                            "%s", _("security imagelabel is missing"));
             goto error;
         }
-        seclabel->imagelabel = g_steal_pointer(&p);
     }

     /* Only parse baselabel for dynamic label type */
     if (seclabel->type == VIR_DOMAIN_SECLABEL_DYNAMIC) {
-        p = virXPathStringLimit("string(./baselabel[1])",
-                                VIR_SECURITY_LABEL_BUFLEN-1, ctxt);
-        seclabel->baselabel = g_steal_pointer(&p);
+        seclabel->baselabel = virXPathStringLimit("string(./baselabel[1])",
+                                                  VIR_SECURITY_LABEL_BUFLEN-1, ctxt);
     }

     return seclabel;
-- 
2.31.1

Re: [PATCH 03/12] virSecurityLabelDefParseXML: Directly assign strings into appropriate variables
Posted by Ján Tomko 4 years, 2 months ago
On a Monday in 2021, Peter Krempa wrote:
>'seclabel->label', 'seclabel->imagelabel' and 'seclabel->baselabel' are
>populated by stealing the pointer from the 'p' temporary string. Remove
>the extra step.
>
>Signed-off-by: Peter Krempa <pkrempa@redhat.com>
>---
> src/conf/domain_conf.c | 20 ++++++++------------
> 1 file changed, 8 insertions(+), 12 deletions(-)
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano