[libvirt] [PATCH V2 1/2] Fix building domain def in securityselinuxtest

Jim Fehlig jfehlig at suse.com
Wed Aug 16 23:54:07 UTC 2017


The virDomainDef created by testBuildDomainDef in securityselinuxtest
adds a seclabel but does not increment nseclabels. Also, it should
populate seclabel->model with 'selinux'.

While at it, use the secdef itself to populate values instead of
the indirection through def->seclabels[0].

Signed-off-by: Jim Fehlig <jfehlig at suse.com>
---
 tests/securityselinuxtest.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/tests/securityselinuxtest.c b/tests/securityselinuxtest.c
index 767b6cc02..f6143fb06 100644
--- a/tests/securityselinuxtest.c
+++ b/tests/securityselinuxtest.c
@@ -73,24 +73,28 @@ testBuildDomainDef(bool dynamic,
     if (!(def = virDomainDefNew()))
         goto error;
 
+    def->virtType = VIR_DOMAIN_VIRT_KVM;
     if (VIR_ALLOC_N(def->seclabels, 1) < 0)
         goto error;
 
+    def->nseclabels++;
+
     if (VIR_ALLOC(secdef) < 0)
         goto error;
 
-    def->virtType = VIR_DOMAIN_VIRT_KVM;
-    def->seclabels[0] = secdef;
-    def->seclabels[0]->type = dynamic ? VIR_DOMAIN_SECLABEL_DYNAMIC : VIR_DOMAIN_SECLABEL_STATIC;
+    if (VIR_STRDUP(secdef->model, "selinux") < 0)
+        goto error;
 
+    secdef->type = dynamic ? VIR_DOMAIN_SECLABEL_DYNAMIC : VIR_DOMAIN_SECLABEL_STATIC;
     if (label &&
-        VIR_STRDUP(def->seclabels[0]->label, label) < 0)
+        VIR_STRDUP(secdef->label, label) < 0)
         goto error;
 
     if (baselabel &&
-        VIR_STRDUP(def->seclabels[0]->baselabel, baselabel) < 0)
+        VIR_STRDUP(secdef->baselabel, baselabel) < 0)
         goto error;
 
+    def->seclabels[0] = secdef;
     return def;
 
  error:
-- 
2.13.1




More information about the libvir-list mailing list