From nobody Sun Feb 8 15:29:04 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1606245704; cv=none; d=zohomail.com; s=zohoarc; b=Mvb44YKKE/y9Q6F5HM79219tVv5DNzTQ9L+pzYIzaK72+4edUx/vv6WKVESIVYBXGEVHmnk5VfvwMI/9gMgUcDyqw+1lvqv1BXdGfroXwrFtmLL0J5BNfi8CBwZ6YObAhefM/sqC42VFdUAo6oCGxxhyw9VvjdrbRyj7VnMj/n8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606245704; h=Content-Type:Content-Transfer-Encoding:Cc: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=ZQ202LFgRzCqeHnnAAuGbsnkZsMQ0N+owFmKPKm7rwo=; b=n8EfCl9QjsMeqVSy5Eiygh/VsCZHcnFDUyV8SQ3aXIjuhjO1UrJ9OMoHlGpZKqRGQhS0zH/sbesXxUOoGaM7ZV60d51fz3YwM3RAuinhJBX7xufN5cr8vF/D+8YbjGoTV1M25CEYhMYvb/uHVSThMjFrDAT9vun1O12v3eDuIn0= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1606245704514693.1647752273473; Tue, 24 Nov 2020 11:21:44 -0800 (PST) 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-453-fRV1nag7OjCpbxJPoEg9hg-1; Tue, 24 Nov 2020 14:21:39 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EC5D41005E6B; Tue, 24 Nov 2020 19:21:32 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C49171001281; Tue, 24 Nov 2020 19:21:32 +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 8DBE91809CA0; Tue, 24 Nov 2020 19:21:32 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AOJLTbh004503 for ; Tue, 24 Nov 2020 14:21:29 -0500 Received: by smtp.corp.redhat.com (Postfix) id C0E3C2166B27; Tue, 24 Nov 2020 19:21:29 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast06.extmail.prod.ext.rdu2.redhat.com [10.11.55.22]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BB59C2166B2A for ; Tue, 24 Nov 2020 19:21:29 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A276E185A794 for ; Tue, 24 Nov 2020 19:21:29 +0000 (UTC) Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-7-KQXlxYz-NumcSj02YpoVXQ-1; Tue, 24 Nov 2020 14:21:25 -0500 Received: by mail-qk1-f181.google.com with SMTP id q5so22104806qkc.12 for ; Tue, 24 Nov 2020 11:21:25 -0800 (PST) Received: from rekt.redhat.com ([2804:431:c7c7:d88a:482:7c39:5cca:96f6]) by smtp.gmail.com with ESMTPSA id l79sm88837qke.1.2020.11.24.11.21.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Nov 2020 11:21:24 -0800 (PST) X-MC-Unique: fRV1nag7OjCpbxJPoEg9hg-1 X-MC-Unique: KQXlxYz-NumcSj02YpoVXQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZQ202LFgRzCqeHnnAAuGbsnkZsMQ0N+owFmKPKm7rwo=; b=sC18kgcy9MjJM2FNlqxO1KJXwanwGiRiLuJMTUriCsny3RuashQmM9YpgDcis/dOjG aa5LThQSE3Bnq2YnPUm0T+8t5KvH2GY5HwYKJl0BZOTE9lukmTX9GqufAhBkKcUAqXVs t0BjR0OTh5FkxFEFRVE3ufZyCWQTs6hs+T9n2QiBX4RwqaXtPkEfYsg9BYFgnqLr7nDT k7pKLDOJ9svcJljVKaQMqdc/+mf7yXc0B4LfuhomNS6GiAIXkOJkmzse9+2CdaZncwI+ NCDK3stzhwEMfWy0X6dDF5qa6UJBqqykOWL1vLb5hSSpI4k5KmZg4RaHJFPXGUNq0evy jLPw== X-Gm-Message-State: AOAM530K5k3AGCzN5acRas6w/OiQSr1inxoWkpKx4ulB9TlOsh2uIGZ6 FEGYKWcE2XgD2Q1XPSNYNT15g0RdErU= X-Google-Smtp-Source: ABdhPJzoXJFRD+kevbQ8uOmpuyx/QX5I8nl0OLNCd3oHc78od8VF2GhGdZY9OpcxlJZwa5FQ2D9JXw== X-Received: by 2002:a37:a907:: with SMTP id s7mr6358852qke.157.1606245685129; Tue, 24 Nov 2020 11:21:25 -0800 (PST) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH 18/21] domain_conf.c: modernize virDomainControllerDefParseXML() Date: Tue, 24 Nov 2020 16:20:32 -0300 Message-Id: <20201124192035.2343063-19-danielhb413@gmail.com> In-Reply-To: <20201124192035.2343063-1-danielhb413@gmail.com> References: <20201124192035.2343063-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Let's register AUTOPTR_CLEANUP_FUNC for virDomainControllerDefPtr and modernize this function, removing the 'error' label using g_autoptr(). Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/conf/domain_conf.c | 60 ++++++++++++++++++++---------------------- src/conf/domain_conf.h | 1 + 2 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index c17f5479ba..5630f72096 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -11226,7 +11226,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, xmlXPathContextPtr ctxt, unsigned int flags) { - virDomainControllerDefPtr def =3D NULL; + g_autoptr(virDomainControllerDef) def =3D NULL; int type =3D 0; xmlNodePtr cur =3D NULL; bool processedModel =3D false; @@ -11259,19 +11259,19 @@ virDomainControllerDefParseXML(virDomainXMLOption= Ptr xmlopt, if ((type =3D virDomainControllerTypeFromString(typeStr)) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unknown controller type '%s'"), typeStr); - goto error; + return NULL; } } =20 if (!(def =3D virDomainControllerDefNew(type))) - goto error; + return NULL; =20 model =3D virXMLPropString(node, "model"); if (model) { if ((def->model =3D virDomainControllerModelTypeFromString(def, mo= del)) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unknown model type '%s'"), model); - goto error; + return NULL; } } =20 @@ -11282,7 +11282,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, idxVal > INT_MAX) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Cannot parse controller index %s"), idx); - goto error; + return NULL; } def->idx =3D idxVal; } @@ -11298,13 +11298,13 @@ virDomainControllerDefParseXML(virDomainXMLOption= Ptr xmlopt, iothread =3D virXMLPropString(cur, "iothread"); =20 if (virDomainVirtioOptionsParseXML(cur, &def->virtio) < 0) - goto error; + return NULL; } else if (virXMLNodeNameEqual(cur, "model")) { if (processedModel) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Multiple elements in " "controller definition not allowed")); - goto error; + return NULL; } modelName =3D virXMLPropString(cur, "name"); processedModel =3D true; @@ -11313,7 +11313,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, virReportError(VIR_ERR_XML_ERROR, "%s", _("Multiple elements in " "controller definition not allowed")); - goto error; + return NULL; } chassisNr =3D virXMLPropString(cur, "chassisNr"); chassis =3D virXMLPropString(cur, "chassis"); @@ -11334,39 +11334,39 @@ virDomainControllerDefParseXML(virDomainXMLOption= Ptr xmlopt, if (rc =3D=3D -2 || (rc =3D=3D 0 && numaNode < 0)) { virReportError(VIR_ERR_XML_ERROR, "%s", _("invalid NUMA node in target")); - goto error; + return NULL; } =20 if (queues && virStrToLong_ui(queues, NULL, 10, &def->queues) < 0) { virReportError(VIR_ERR_XML_ERROR, _("Malformed 'queues' value '%s'"), queues); - goto error; + return NULL; } =20 if (cmd_per_lun && virStrToLong_ui(cmd_per_lun, NULL, 10, &def->cmd_pe= r_lun) < 0) { virReportError(VIR_ERR_XML_ERROR, _("Malformed 'cmd_per_lun' value '%s'"), cmd_per_lu= n); - goto error; + return NULL; } =20 if (max_sectors && virStrToLong_ui(max_sectors, NULL, 10, &def->max_se= ctors) < 0) { virReportError(VIR_ERR_XML_ERROR, _("Malformed 'max_sectors' value %s"), max_sectors); - goto error; + return NULL; } =20 if (ioeventfd && (def->ioeventfd =3D virTristateSwitchTypeFromString(ioeventfd)) < = 0) { virReportError(VIR_ERR_XML_ERROR, _("Malformed 'ioeventfd' value %s"), ioeventfd); - goto error; + return NULL; } =20 if (iothread) { if (virStrToLong_uip(iothread, NULL, 10, &def->iothread) < 0) { virReportError(VIR_ERR_XML_ERROR, _("Invalid 'iothread' value '%s'"), iothread); - goto error; + return NULL; } } =20 @@ -11375,7 +11375,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, VIR_DEBUG("Ignoring device address for none model usb controller"); } else if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0) { - goto error; + return NULL; } =20 portsStr =3D virXMLPropString(node, "ports"); @@ -11384,7 +11384,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, if (r !=3D 0 || ports < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid ports: %s"), portsStr); - goto error; + return NULL; } } =20 @@ -11399,7 +11399,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, if (r !=3D 0 || def->opts.vioserial.vectors < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid vectors: %s"), vectors); - goto error; + return NULL; } } break; @@ -11436,7 +11436,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, if ((rc =3D virParseScaledValue("./pcihole64", NULL, ctxt, &bytes, 1024, 1024ULL * ULONG_MAX, false)) < 0) - goto error; + return NULL; =20 if (rc =3D=3D 1) def->opts.pciopts.pcihole64 =3D true; @@ -11461,7 +11461,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unknown PCI controller model name '%s'"), modelName); - goto error; + return NULL; } if (chassisNr) { if (virStrToLong_i(chassisNr, NULL, 0, @@ -11469,7 +11469,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, virReportError(VIR_ERR_XML_ERROR, _("Invalid chassisNr '%s' in PCI controller= "), chassisNr); - goto error; + return NULL; } } if (chassis) { @@ -11478,7 +11478,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, virReportError(VIR_ERR_XML_ERROR, _("Invalid chassis '%s' in PCI controller"), chassis); - goto error; + return NULL; } } if (port) { @@ -11487,7 +11487,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, virReportError(VIR_ERR_XML_ERROR, _("Invalid port '%s' in PCI controller"), port); - goto error; + return NULL; } } if (busNr) { @@ -11496,7 +11496,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, virReportError(VIR_ERR_XML_ERROR, _("Invalid busNr '%s' in PCI controller"), busNr); - goto error; + return NULL; } } if (targetIndex) { @@ -11506,7 +11506,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, virReportError(VIR_ERR_XML_ERROR, _("Invalid target index '%s' in PCI control= ler"), targetIndex); - goto error; + return NULL; } } if (numaNode >=3D 0) { @@ -11519,7 +11519,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, virReportError(VIR_ERR_XML_ERROR, _("PCI controller unrecognized hotplug sett= ing '%s'"), hotplug); - goto error; + return NULL; } def->opts.pciopts.hotplug =3D val; } @@ -11534,7 +11534,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, if (r !=3D 0 || def->opts.xenbusopts.maxGrantFrames < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid maxGrantFrames: %s"), gntframes); - goto error; + return NULL; } } if (eventchannels) { @@ -11543,7 +11543,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPt= r xmlopt, if (r !=3D 0 || def->opts.xenbusopts.maxEventChannels < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid maxEventChannels: %s"), eventcha= nnels); - goto error; + return NULL; } } break; @@ -11553,11 +11553,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionP= tr xmlopt, break; } =20 - return def; - - error: - virDomainControllerDefFree(def); - return NULL; + return g_steal_pointer(&def); } =20 =20 diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 694f015011..34cde22965 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3060,6 +3060,7 @@ virDomainDiskDefPtr virDomainDiskFindByBusAndDst(virD= omainDefPtr def, =20 virDomainControllerDefPtr virDomainControllerDefNew(virDomainControllerTyp= e type); void virDomainControllerDefFree(virDomainControllerDefPtr def); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainControllerDef, virDomainControllerD= efFree); bool virDomainControllerIsPSeriesPHB(const virDomainControllerDef *cont); =20 virDomainFSDefPtr virDomainFSDefNew(virDomainXMLOptionPtr xmlopt); --=20 2.26.2