From nobody Sun Feb 8 17:41:46 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1571752992; cv=none; d=zoho.com; s=zohoarc; b=HdIIrjoH4QbQxA4HAbwqoCVDDAsfCw4MJqrAohhaUDjEmaY3QgXCx1kCV6sDEXmfvF9HVyJIdQMK0sOkRNSqXOuxgjjge+U0Ayc2uv5Pcg5GO3wSTZGgGY7kb46FcLMvZFbr6VqzVA0jin1YPkADp5HCbsMRwDIdCgeCyy0Hq8o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571752992; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=pcekDK4xfFVeD+E03uC3Ho6R8nfwAJCIYViJlCHNnys=; b=AAzIN0+DuaUxxRL0E4mtSwpOwyyPmaW0fs77iAEBpJQqWz52RgJ9rXTWdynk8/yUe/dzMF5svkhwBg7G7ZGxaPyaSBr8GE1AF9eQmS/CQtG1D1kE0xmHV9U3KG8tkiPk1Nnv94SklU921Kpu5chgdEWdiOPCdw4+qFv+pTJeXxU= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1571752992296714.1075204955408; Tue, 22 Oct 2019 07:03:12 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-344-BOtOOM_cOPmxGNAjXPXZ5A-1; Tue, 22 Oct 2019 10:01:35 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 11F30601; Tue, 22 Oct 2019 14:01:29 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CE5F34503; Tue, 22 Oct 2019 14:01:28 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 6F3DD3FB47; Tue, 22 Oct 2019 14:01:28 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x9ME0rbm002774 for ; Tue, 22 Oct 2019 10:00:53 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5A8A76012C; Tue, 22 Oct 2019 14:00:53 +0000 (UTC) Received: from moe.redhat.com (unknown [10.43.2.30]) by smtp.corp.redhat.com (Postfix) with ESMTP id D5B106031D for ; Tue, 22 Oct 2019 14:00:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1571752991; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=pcekDK4xfFVeD+E03uC3Ho6R8nfwAJCIYViJlCHNnys=; b=RFtPScMaNLYWfXoSvcEzwZmXAY4OKt5goTeqj2hCHC7KD8wc5ga1G7mhz+EQI2D+BwiG0W ZtRMDcjd4Y7+W2R/3mHLyNeVp13tsrhWOXR6cukP7IapUAUtOGllwrh+yv89Ys8WkVXSzO Mh1pTud6+bVC8MbgoB50sCEPOublWts= From: Michal Privoznik To: libvir-list@redhat.com Date: Tue, 22 Oct 2019 15:58:01 +0200 Message-Id: <0ac4e97619eceda32adbd6625d1f26efbdd0164a.1571752582.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 57/75] security: Use g_strdup_printf() instead of virAsprintf() X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-MC-Unique: BOtOOM_cOPmxGNAjXPXZ5A-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Michal Privoznik --- src/security/security_apparmor.c | 22 +++++++++--------- src/security/security_dac.c | 20 ++++++++-------- src/security/security_selinux.c | 40 ++++++++++++++++---------------- src/security/security_util.c | 12 +++++----- src/security/virt-aa-helper.c | 26 ++++++++++----------- 5 files changed, 60 insertions(+), 60 deletions(-) diff --git a/src/security/security_apparmor.c b/src/security/security_appar= mor.c index 7263c2face..5fdc5fd7f5 100644 --- a/src/security/security_apparmor.c +++ b/src/security/security_apparmor.c @@ -76,11 +76,11 @@ profile_status(const char *str, const int check_enforci= ng) int rc =3D -2; =20 /* create string that is ' \0' for accurate matching */ - virAsprintf(&tmp, "%s ", str); + tmp =3D g_strdup_printf("%s ", str); =20 if (check_enforcing !=3D 0) { /* create string that is ' (enforce)\0' for accurate matching= */ - virAsprintf(&etmp, "%s (enforce)", str); + etmp =3D g_strdup_printf("%s (enforce)", str); } =20 if (virFileReadAll(APPARMOR_PROFILES_PATH, MAX_FILE_LEN, &content) < 0= ) { @@ -126,7 +126,7 @@ profile_status_file(const char *str) int rc =3D -1; int len; =20 - virAsprintf(&profile, "%s/%s", APPARMOR_DIR "/libvirt", str); + profile =3D g_strdup_printf("%s/%s", APPARMOR_DIR "/libvirt", str); =20 if (!virFileExists(profile)) goto failed; @@ -138,7 +138,7 @@ profile_status_file(const char *str) } =20 /* create string that is ' flags=3D(complain)\0' */ - virAsprintf(&tmp, " %s flags=3D(complain)", str); + tmp =3D g_strdup_printf(" %s flags=3D(complain)", str); =20 if (strstr(content, tmp) !=3D NULL) rc =3D 0; @@ -221,7 +221,7 @@ get_profile_name(virDomainDefPtr def) char *name =3D NULL; =20 virUUIDFormat(def->uuid, uuidstr); - virAsprintf(&name, "%s%s", AA_PREFIX, uuidstr); + name =3D g_strdup_printf("%s%s", AA_PREFIX, uuidstr); =20 return name; } @@ -353,8 +353,8 @@ AppArmorSecurityManagerProbe(const char *virtDriver G_G= NUC_UNUSED) return rc; =20 /* see if template file exists */ - virAsprintf(&template_qemu, "%s/TEMPLATE.qemu", APPARMOR_DIR "/libvirt= "); - virAsprintf(&template_lxc, "%s/TEMPLATE.lxc", APPARMOR_DIR "/libvirt"); + template_qemu =3D g_strdup_printf("%s/TEMPLATE.qemu", APPARMOR_DIR "/l= ibvirt"); + template_lxc =3D g_strdup_printf("%s/TEMPLATE.lxc", APPARMOR_DIR "/lib= virt"); =20 if (!virFileExists(template_qemu)) { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -1026,8 +1026,8 @@ AppArmorSetChardevLabel(virSecurityManagerPtr mgr, break; =20 case VIR_DOMAIN_CHR_TYPE_PIPE: - virAsprintf(&in, "%s.in", dev_source->data.file.path); - virAsprintf(&out, "%s.out", dev_source->data.file.path); + in =3D g_strdup_printf("%s.in", dev_source->data.file.path); + out =3D g_strdup_printf("%s.out", dev_source->data.file.path); if (virFileExists(in)) { if (reload_profile(mgr, def, in, true) < 0) goto done; @@ -1091,7 +1091,7 @@ AppArmorSetPathLabel(virSecurityManagerPtr mgr, char *full_path =3D NULL; =20 if (allowSubtree) { - virAsprintf(&full_path, "%s/{,**}", path); + full_path =3D g_strdup_printf("%s/{,**}", path); rc =3D reload_profile(mgr, def, full_path, true); VIR_FREE(full_path); } else { @@ -1123,7 +1123,7 @@ AppArmorSetFDLabel(virSecurityManagerPtr mgr, if (!secdef || !secdef->imagelabel) return 0; =20 - virAsprintf(&proc, "/proc/self/fd/%d", fd); + proc =3D g_strdup_printf("/proc/self/fd/%d", fd); =20 if (virFileResolveLink(proc, &fd_path) < 0) { /* it's a deleted file, presumably. Ignore? */ diff --git a/src/security/security_dac.c b/src/security/security_dac.c index dfa402d544..56cca6cf9c 100644 --- a/src/security/security_dac.c +++ b/src/security/security_dac.c @@ -302,8 +302,8 @@ virSecurityDACSetUserAndGroup(virSecurityManagerPtr mgr, priv->user =3D user; priv->group =3D group; =20 - virAsprintf(&priv->baselabel, "+%u:+%u", (unsigned int)user, - (unsigned int)group); + priv->baselabel =3D g_strdup_printf("+%u:+%u", (unsigned int)user, + (unsigned int)group); =20 return 0; } @@ -437,7 +437,7 @@ virSecurityDACRememberLabel(virSecurityDACDataPtr priv = G_GNUC_UNUSED, char *label =3D NULL; int ret =3D -1; =20 - virAsprintf(&label, "+%u:+%u", (unsigned int)uid, (unsigned int)gid); + label =3D g_strdup_printf("+%u:+%u", (unsigned int)uid, (unsigned int)= gid); =20 ret =3D virSecuritySetRememberedLabel(SECURITY_DAC_NAME, path, label); VIR_FREE(label); @@ -1507,8 +1507,8 @@ virSecurityDACSetChardevLabelHelper(virSecurityManage= rPtr mgr, break; =20 case VIR_DOMAIN_CHR_TYPE_PIPE: - virAsprintf(&in, "%s.in", dev_source->data.file.path); - virAsprintf(&out, "%s.out", dev_source->data.file.path); + in =3D g_strdup_printf("%s.in", dev_source->data.file.path); + out =3D g_strdup_printf("%s.out", dev_source->data.file.path); if (virFileExists(in) && virFileExists(out)) { if (virSecurityDACSetOwnership(mgr, NULL, in, user, group, rem= ember) < 0 || virSecurityDACSetOwnership(mgr, NULL, out, user, group, re= member) < 0) @@ -1599,8 +1599,8 @@ virSecurityDACRestoreChardevLabelHelper(virSecurityMa= nagerPtr mgr, break; =20 case VIR_DOMAIN_CHR_TYPE_PIPE: - virAsprintf(&out, "%s.out", dev_source->data.file.path); - virAsprintf(&in, "%s.in", dev_source->data.file.path); + out =3D g_strdup_printf("%s.out", dev_source->data.file.path); + in =3D g_strdup_printf("%s.in", dev_source->data.file.path); if (virFileExists(in) && virFileExists(out)) { if (virSecurityDACRestoreFileLabelInternal(mgr, NULL, out, rec= all) < 0 || virSecurityDACRestoreFileLabelInternal(mgr, NULL, in, reca= ll) < 0) @@ -2281,8 +2281,8 @@ virSecurityDACGenLabel(virSecurityManagerPtr mgr, } break; case VIR_DOMAIN_SECLABEL_DYNAMIC: - virAsprintf(&seclabel->label, "+%u:+%u", (unsigned int)priv->user, - (unsigned int)priv->group); + seclabel->label =3D g_strdup_printf("+%u:+%u", (unsigned int)priv-= >user, + (unsigned int)priv->group); if (seclabel->label =3D=3D NULL) { virReportError(VIR_ERR_INTERNAL_ERROR, _("cannot generate dac user and group id " @@ -2333,7 +2333,7 @@ virSecurityDACGetProcessLabelInternal(pid_t pid, =20 VIR_DEBUG("Getting DAC user and group on process '%d'", pid); =20 - virAsprintf(&path, "/proc/%d", (int)pid); + path =3D g_strdup_printf("/proc/%d", (int)pid); =20 if (lstat(path, &sb) < 0) { virReportSystemError(errno, diff --git a/src/security/security_selinux.c b/src/security/security_selinu= x.c index 47fc95351f..5a2cd6bbeb 100644 --- a/src/security/security_selinux.c +++ b/src/security/security_selinux.c @@ -381,14 +381,14 @@ virSecuritySELinuxMCSFind(virSecurityManagerPtr mgr, VIR_DEBUG("Try cat %s:c%d,c%d", sens, c1 + catMin, c2 + catMin); =20 if (c1 =3D=3D c2) { - virAsprintf(&mcs, "%s:c%d", sens, catMin + c1); + mcs =3D g_strdup_printf("%s:c%d", sens, catMin + c1); } else { if (c1 > c2) { int t =3D c1; c1 =3D c2; c2 =3D t; } - virAsprintf(&mcs, "%s:c%d,c%d", sens, catMin + c1, catMin + c2= ); + mcs =3D g_strdup_printf("%s:c%d,c%d", sens, catMin + c1, catMi= n + c2); } =20 if (virHashLookup(data->mcs, mcs) =3D=3D NULL) @@ -2202,8 +2202,8 @@ virSecuritySELinuxSetHostdevCapsLabel(virSecurityMana= gerPtr mgr, switch (dev->source.caps.type) { case VIR_DOMAIN_HOSTDEV_CAPS_TYPE_STORAGE: { if (vroot) { - virAsprintf(&path, "%s/%s", vroot, - dev->source.caps.u.storage.block); + path =3D g_strdup_printf("%s/%s", vroot, + dev->source.caps.u.storage.block); } else { path =3D g_strdup(dev->source.caps.u.storage.block); } @@ -2214,8 +2214,8 @@ virSecuritySELinuxSetHostdevCapsLabel(virSecurityMana= gerPtr mgr, =20 case VIR_DOMAIN_HOSTDEV_CAPS_TYPE_MISC: { if (vroot) { - virAsprintf(&path, "%s/%s", vroot, - dev->source.caps.u.misc.chardev); + path =3D g_strdup_printf("%s/%s", vroot, + dev->source.caps.u.misc.chardev); } else { path =3D g_strdup(dev->source.caps.u.misc.chardev); } @@ -2433,8 +2433,8 @@ virSecuritySELinuxRestoreHostdevCapsLabel(virSecurity= ManagerPtr mgr, switch (dev->source.caps.type) { case VIR_DOMAIN_HOSTDEV_CAPS_TYPE_STORAGE: { if (vroot) { - virAsprintf(&path, "%s/%s", vroot, - dev->source.caps.u.storage.block); + path =3D g_strdup_printf("%s/%s", vroot, + dev->source.caps.u.storage.block); } else { path =3D g_strdup(dev->source.caps.u.storage.block); } @@ -2445,8 +2445,8 @@ virSecuritySELinuxRestoreHostdevCapsLabel(virSecurity= ManagerPtr mgr, =20 case VIR_DOMAIN_HOSTDEV_CAPS_TYPE_MISC: { if (vroot) { - virAsprintf(&path, "%s/%s", vroot, - dev->source.caps.u.misc.chardev); + path =3D g_strdup_printf("%s/%s", vroot, + dev->source.caps.u.misc.chardev); } else { path =3D g_strdup(dev->source.caps.u.misc.chardev); } @@ -2544,8 +2544,8 @@ virSecuritySELinuxSetChardevLabel(virSecurityManagerP= tr mgr, break; =20 case VIR_DOMAIN_CHR_TYPE_PIPE: - virAsprintf(&in, "%s.in", dev_source->data.file.path); - virAsprintf(&out, "%s.out", dev_source->data.file.path); + in =3D g_strdup_printf("%s.in", dev_source->data.file.path); + out =3D g_strdup_printf("%s.out", dev_source->data.file.path); if (virFileExists(in) && virFileExists(out)) { if ((virSecuritySELinuxSetFilecon(mgr, in, imagelabel, true) <= 0) || (virSecuritySELinuxSetFilecon(mgr, out, imagelabel, true) = < 0)) { @@ -2618,8 +2618,8 @@ virSecuritySELinuxRestoreChardevLabel(virSecurityMana= gerPtr mgr, break; =20 case VIR_DOMAIN_CHR_TYPE_PIPE: - virAsprintf(&out, "%s.out", dev_source->data.file.path); - virAsprintf(&in, "%s.in", dev_source->data.file.path); + out =3D g_strdup_printf("%s.out", dev_source->data.file.path); + in =3D g_strdup_printf("%s.in", dev_source->data.file.path); if (virFileExists(in) && virFileExists(out)) { if ((virSecuritySELinuxRestoreFileLabel(mgr, out, true) < 0) || (virSecuritySELinuxRestoreFileLabel(mgr, in, true) < 0)) { @@ -3257,7 +3257,7 @@ virSecuritySELinuxSetTapFDLabel(virSecurityManagerPtr= mgr, } =20 /* Label /dev/tap.* devices only. Leave /dev/net/tun alone! */ - virAsprintf(&proc, "/proc/self/fd/%d", fd); + proc =3D g_strdup_printf("/proc/self/fd/%d", fd); =20 if (virFileResolveLink(proc, &fd_path) < 0) { virReportSystemError(errno, @@ -3341,9 +3341,9 @@ virSecuritySELinuxGetSecurityMountOptions(virSecurity= ManagerPtr mgr, secdef->imagelabel =3D virSecuritySELinuxGenImageLabel(mgr, de= f); =20 if (secdef->imagelabel) { - virAsprintf(&opts, - ",context=3D\"%s\"", - (const char*) secdef->imagelabel); + opts =3D g_strdup_printf( + ",context=3D\"%s\"", + (const char*) secdef->imagelabel); } } =20 @@ -3402,7 +3402,7 @@ virSecuritySELinuxSetFileLabels(virSecurityManagerPtr= mgr, return -1; =20 while ((ret =3D virDirRead(dir, &ent, path)) > 0) { - virAsprintf(&filename, "%s/%s", path, ent->d_name); + filename =3D g_strdup_printf("%s/%s", path, ent->d_name); ret =3D virSecuritySELinuxSetFilecon(mgr, filename, seclabel->imagelabel, true); VIR_FREE(filename); @@ -3448,7 +3448,7 @@ virSecuritySELinuxRestoreFileLabels(virSecurityManage= rPtr mgr, return -1; =20 while ((ret =3D virDirRead(dir, &ent, path)) > 0) { - virAsprintf(&filename, "%s/%s", path, ent->d_name); + filename =3D g_strdup_printf("%s/%s", path, ent->d_name); ret =3D virSecuritySELinuxRestoreFileLabel(mgr, filename, true); VIR_FREE(filename); if (ret < 0) diff --git a/src/security/security_util.c b/src/security/security_util.c index 5fb0a3aae5..4f661fd75e 100644 --- a/src/security/security_util.c +++ b/src/security/security_util.c @@ -63,7 +63,7 @@ virSecurityGetAttrName(const char *name G_GNUC_UNUSED) { char *ret =3D NULL; #ifdef XATTR_NAMESPACE - virAsprintf(&ret, XATTR_NAMESPACE".libvirt.security.%s", name); + ret =3D g_strdup_printf(XATTR_NAMESPACE".libvirt.security.%s", name); #else errno =3D ENOSYS; virReportSystemError(errno, "%s", @@ -78,7 +78,7 @@ virSecurityGetRefCountAttrName(const char *name G_GNUC_UN= USED) { char *ret =3D NULL; #ifdef XATTR_NAMESPACE - virAsprintf(&ret, XATTR_NAMESPACE".libvirt.security.ref_%s", name); + ret =3D g_strdup_printf(XATTR_NAMESPACE".libvirt.security.ref_%s", nam= e); #else errno =3D ENOSYS; virReportSystemError(errno, "%s", @@ -93,7 +93,7 @@ static char * virSecurityGetTimestampAttrName(const char *name) { char *ret =3D NULL; - virAsprintf(&ret, XATTR_NAMESPACE ".libvirt.security.timestamp_%s", na= me); + ret =3D g_strdup_printf(XATTR_NAMESPACE ".libvirt.security.timestamp_%= s", name); return ret; } #else /* !XATTR_NAMESPACE */ @@ -120,7 +120,7 @@ virSecurityGetTimestamp(void) return NULL; } =20 - virAsprintf(&ret, "%llu", boottime); + ret =3D g_strdup_printf("%llu", boottime); return ret; } =20 @@ -312,7 +312,7 @@ virSecurityGetRememberedLabel(const char *name, refcount--; =20 if (refcount > 0) { - virAsprintf(&value, "%u", refcount); + value =3D g_strdup_printf("%u", refcount); =20 if (virFileSetXAttr(path, ref_name, value) < 0) return -1; @@ -419,7 +419,7 @@ virSecuritySetRememberedLabel(const char *name, return -1; } =20 - virAsprintf(&value, "%u", refcount); + value =3D g_strdup_printf("%u", refcount); =20 if (virFileSetXAttr(path, ref_name, value) < 0) return -1; diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c index c2679cdad2..634a532d35 100644 --- a/src/security/virt-aa-helper.c +++ b/src/security/virt-aa-helper.c @@ -157,7 +157,7 @@ parserCommand(const char *profile_name, const char cmd) =20 snprintf(flag, 3, "-%c", cmd); =20 - virAsprintf(&profile, "%s/%s", APPARMOR_DIR "/libvirt", profile_name); + profile =3D g_strdup_printf("%s/%s", APPARMOR_DIR "/libvirt", profile_= name); =20 if (!virFileExists(profile)) { vah_error(NULL, 0, _("profile does not exist")); @@ -214,9 +214,9 @@ update_include_file(const char *include_file, const cha= r *included_files, } =20 if (append && virFileExists(include_file)) - virAsprintf(&pcontent, "%s%s", existing, included_files); + pcontent =3D g_strdup_printf("%s%s", existing, included_files); else - virAsprintf(&pcontent, "%s%s", warning, included_files); + pcontent =3D g_strdup_printf("%s%s", warning, included_files); =20 plen =3D strlen(pcontent); if (plen > MAX_FILE_LEN) { @@ -290,7 +290,7 @@ create_profile(const char *profile, const char *profile= _name, driver_name =3D virDomainVirtTypeToString(virtType); } =20 - virAsprintf(&template, "%s/TEMPLATE.%s", APPARMOR_DIR "/libvirt", driv= er_name); + template =3D g_strdup_printf("%s/TEMPLATE.%s", APPARMOR_DIR "/libvirt"= , driver_name); =20 if (!virFileExists(template)) { vah_error(NULL, 0, _("template does not exist")); @@ -313,11 +313,11 @@ create_profile(const char *profile, const char *profi= le_name, } =20 /* '\nprofile \0' */ - virAsprintf(&replace_name, "\nprofile %s", profile_name); + replace_name =3D g_strdup_printf("\nprofile %s", profile_name); =20 /* '\n\n}\0' */ if (virtType !=3D VIR_DOMAIN_VIRT_LXC) - virAsprintf(&replace_files, "\n%s\n}", profile_files); + replace_files =3D g_strdup_printf("\n%s\n}", profile_files); =20 plen =3D tlen + strlen(replace_name) - strlen(template_name) + 1; =20 @@ -768,7 +768,7 @@ vah_add_path(virBufferPtr buf, const char *path, const = char *perms, bool recursi vah_error(NULL, 0, _("could not find realpath")); goto cleanup; } - virAsprintf(&tmp, "%s%s", pathreal, pathtmp); + tmp =3D g_strdup_printf("%s%s", pathreal, pathtmp); } =20 perms_new =3D g_strdup(perms); @@ -835,13 +835,13 @@ vah_add_file_chardev(virBufferPtr buf, =20 if (type =3D=3D VIR_DOMAIN_CHR_TYPE_PIPE) { /* add the pipe input */ - virAsprintf(&pipe_in, "%s.in", path); + pipe_in =3D g_strdup_printf("%s.in", path); =20 if (vah_add_file(buf, pipe_in, perms) !=3D 0) goto clean_pipe_in; =20 /* add the pipe output */ - virAsprintf(&pipe_out, "%s.out", path); + pipe_out =3D g_strdup_printf("%s.out", path); =20 if (vah_add_file(buf, pipe_out, perms) !=3D 0) goto clean_pipe_out; @@ -934,7 +934,7 @@ get_files(vahControl * ctl) =20 /* verify uuid is same as what we were given on the command line */ virUUIDFormat(ctl->def->uuid, uuidstr); - virAsprintf(&uuid, "%s%s", AA_PREFIX, uuidstr); + uuid =3D g_strdup_printf("%s%s", AA_PREFIX, uuidstr); =20 if (STRNEQ(uuid, ctl->uuid)) { vah_error(ctl, 0, _("given uuid does not match XML uuid")); @@ -1431,8 +1431,8 @@ main(int argc, char **argv) if (vahParseArgv(ctl, argc, argv) !=3D 0) vah_error(ctl, 1, _("could not parse arguments")); =20 - virAsprintf(&profile, "%s/%s", APPARMOR_DIR "/libvirt", ctl->uuid); - virAsprintf(&include_file, "%s/%s.files", APPARMOR_DIR "/libvirt", ctl= ->uuid); + profile =3D g_strdup_printf("%s/%s", APPARMOR_DIR "/libvirt", ctl->uui= d); + include_file =3D g_strdup_printf("%s/%s.files", APPARMOR_DIR "/libvirt= ", ctl->uuid); =20 if (ctl->cmd =3D=3D 'a') { rc =3D parserLoad(ctl->uuid); @@ -1494,7 +1494,7 @@ main(int argc, char **argv) /* create the profile from TEMPLATE */ if (ctl->cmd =3D=3D 'c') { char *tmp =3D NULL; - virAsprintf(&tmp, " #include \n", ctl->uuid= ); + tmp =3D g_strdup_printf(" #include \n", ctl= ->uuid); =20 if (ctl->dryrun) { vah_info(profile); --=20 2.21.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list