From: Peter Krempa Date: Mon, 19 May 2025 13:24:34 +0000 (+0200) Subject: virSecuritySELinuxMCSFind: Refactor variable clearing X-Git-Tag: v11.6.0-rc1~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7891ed2d101af50aecef2493f573539b60063731;p=thirdparty%2Flibvirt.git virSecuritySELinuxMCSFind: Refactor variable clearing Use automatic freeing for 'mcs' and adjust the code. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c index 0326073810..28ac136635 100644 --- a/src/security/security_selinux.c +++ b/src/security/security_selinux.c @@ -398,7 +398,6 @@ virSecuritySELinuxMCSFind(virSecurityManager *mgr, { virSecuritySELinuxData *data = virSecurityManagerGetPrivateData(mgr); int catRange; - char *mcs = NULL; /* +1 since virRandomInt range is exclusive of the upper bound */ catRange = (catMax - catMin) + 1; @@ -416,6 +415,7 @@ virSecuritySELinuxMCSFind(virSecurityManager *mgr, for (;;) { int c1 = virRandomInt(catRange); int c2 = virRandomInt(catRange); + g_autofree char *mcs = NULL; VIR_DEBUG("Try cat %s:c%d,c%d", sens, c1 + catMin, c2 + catMin); @@ -439,12 +439,10 @@ virSecuritySELinuxMCSFind(virSecurityManager *mgr, } if (virHashLookup(data->mcs, mcs) == NULL) - break; - - VIR_FREE(mcs); + return g_steal_pointer(&mcs); } - return mcs; + return NULL; }