From nobody Mon May 6 20:57:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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=1594239646; cv=none; d=zohomail.com; s=zohoarc; b=gOigsQ27ge7JdK6ahDfUgvIMRuZM4LmKqyOk7B/Xgsx6LQ0qW8vi8zBGOXM/a8ynLByRbDNgsdICqDi6f4KetjdflaCfO6jUEwOW0zzAUJMQZf922X8jDHMNY5wO8AuEfEzDyGOfwzWnC3zrO59Xno98GHytByQEgSJEAnvhut8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594239646; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=/A5+PEK9o7kE4m9HFjgXVnuy7tzl/5zp/fEM1UN6DzI=; b=kj/jKKTxYgOsOlMWgrCZ8bXs2bvkL1tAIsb5yK8q60tIO3KbIYt6cM9C/W8DeV5EG9Bq7DBr5oOMSSeERVnSXuHswN9rtaEzwIbYpYR5V/YhwlqZYNe5/zyE6ejB5IXdW1cPk0Sj0jcomAZPTRTnh/s/J0LIFbDIEjYKZcb+UFc= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 159423964604030.65780976520648; Wed, 8 Jul 2020 13:20:46 -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-61-QKuVJRyCOVGjnQofEyPt4g-1; Wed, 08 Jul 2020 16:20:42 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DBDAB8005B0; Wed, 8 Jul 2020 20:20:35 +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 73CE96FEC2; Wed, 8 Jul 2020 20:20:33 +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 B5CDE93F7B; Wed, 8 Jul 2020 20:20:27 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 068KKPjF002314 for ; Wed, 8 Jul 2020 16:20:26 -0400 Received: by smtp.corp.redhat.com (Postfix) id A37FC208DD97; Wed, 8 Jul 2020 20:20:25 +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 8C0A1208DD91 for ; Wed, 8 Jul 2020 20:20:22 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) (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 6B3321859175 for ; Wed, 8 Jul 2020 20:20:22 +0000 (UTC) Received: from mail-qv1-f68.google.com (mail-qv1-f68.google.com [209.85.219.68]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-419-i15oq5NsOlqTEmNlFttACg-1; Wed, 08 Jul 2020 16:20:20 -0400 Received: by mail-qv1-f68.google.com with SMTP id h18so21113055qvl.3 for ; Wed, 08 Jul 2020 13:20:20 -0700 (PDT) Received: from localhost.localdomain ([200.123.55.253]) by smtp.gmail.com with ESMTPSA id v134sm999100qkb.60.2020.07.08.13.20.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jul 2020 13:20:19 -0700 (PDT) X-MC-Unique: QKuVJRyCOVGjnQofEyPt4g-1 X-MC-Unique: i15oq5NsOlqTEmNlFttACg-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:mime-version :content-transfer-encoding; bh=/A5+PEK9o7kE4m9HFjgXVnuy7tzl/5zp/fEM1UN6DzI=; b=WWC6YUPUt5bO928/+AgZiUOGqoe+XSfRuqKDMhLdtQtcCg71QAMz0kQGHfF5+WiYz1 1Ye+dBTthsh54l6vWfJBpdmQegQX2B41nNI0vMYJTBKjD7sbHy9nqK/FVz0EB8U/P7FN 9zBCI9xcDuWh+guPeF05Knw+sUjl3j8wsCVrHOiI9rZahiVeI46CTu/1jcwWkBgei4Cw /gudUlk/nvIijXA9tMu0vkvJzakMmuo2c0+zIKD6jFvfxybhgsulNxTYoQLI36eXif+o bB2wilJuJ1ig9HuxeHslxkDtHLkbvlbfuCn8VzDDqp4kATKKUUGx3S5NS2/wknfa+hLl zW0w== X-Gm-Message-State: AOAM531uyal1jPq3Hy+hmtQmAM695NTCDNSOd57fU7sRngrEd47gNydE bsSrNRzzl3BR3UnqQ0K8vwFUDMZYm0c= X-Google-Smtp-Source: ABdhPJxtIAqkLrDUV/ThKfJXxzVUNRlCoTXBLvEDIdxGfmdDWgHm+04hmSHlfYh8+j/zbEbTLLk9rA== X-Received: by 2002:ad4:4ae1:: with SMTP id cp1mr58602596qvb.91.1594239619393; Wed, 08 Jul 2020 13:20:19 -0700 (PDT) From: Nicolas Brignone To: libvir-list@redhat.com Subject: [libvirt PATCH] All pointers to virXMLPropString() use g_autofree. Date: Wed, 8 Jul 2020 17:19:44 -0300 Message-Id: <20200708201944.403360-1-nmbrignone@gmail.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Cc: Nicolas Brignone 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.79 on 10.5.11.11 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" All modified functions are similar, in all cases "cleanup" label is removed, along with all the "goto" calls. Signed-off-by: Nicolas Brignone Reviewed-by: Laine Stump --- src/conf/device_conf.c | 183 +++++++++++++---------------------------- 1 file changed, 56 insertions(+), 127 deletions(-) diff --git a/src/conf/device_conf.c b/src/conf/device_conf.c index 7d48a3f..9fa6141 100644 --- a/src/conf/device_conf.c +++ b/src/conf/device_conf.c @@ -208,45 +208,43 @@ int virPCIDeviceAddressParseXML(xmlNodePtr node, virPCIDeviceAddressPtr addr) { - char *domain, *slot, *bus, *function, *multi; xmlNodePtr cur; xmlNodePtr zpci =3D NULL; - int ret =3D -1; =20 memset(addr, 0, sizeof(*addr)); =20 - domain =3D virXMLPropString(node, "domain"); - bus =3D virXMLPropString(node, "bus"); - slot =3D virXMLPropString(node, "slot"); - function =3D virXMLPropString(node, "function"); - multi =3D virXMLPropString(node, "multifunction"); + g_autofree char *domain =3D virXMLPropString(node, "domain"); + g_autofree char *bus =3D virXMLPropString(node, "bus"); + g_autofree char *slot =3D virXMLPropString(node, "slot"); + g_autofree char *function =3D virXMLPropString(node, "function"); + g_autofree char *multi =3D virXMLPropString(node, "multifunction"); =20 if (domain && virStrToLong_uip(domain, NULL, 0, &addr->domain) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'domain' attribute")); - goto cleanup; + return -1; } =20 if (bus && virStrToLong_uip(bus, NULL, 0, &addr->bus) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'bus' attribute")); - goto cleanup; + return -1; } =20 if (slot && virStrToLong_uip(slot, NULL, 0, &addr->slot) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'slot' attribute")); - goto cleanup; + return -1; } =20 if (function && virStrToLong_uip(function, NULL, 0, &addr->function) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'function' attribute")); - goto cleanup; + return -1; } =20 if (multi && @@ -254,11 +252,11 @@ virPCIDeviceAddressParseXML(xmlNodePtr node, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unknown value '%s' for
'multifunction'= attribute"), multi); - goto cleanup; + return -1; =20 } if (!virPCIDeviceAddressIsEmpty(addr) && !virPCIDeviceAddressIsValid(a= ddr, true)) - goto cleanup; + return -1; =20 cur =3D node->children; while (cur) { @@ -270,17 +268,9 @@ virPCIDeviceAddressParseXML(xmlNodePtr node, } =20 if (zpci && virZPCIDeviceAddressParseXML(zpci, addr) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - - cleanup: - VIR_FREE(domain); - VIR_FREE(bus); - VIR_FREE(slot); - VIR_FREE(function); - VIR_FREE(multi); - return ret; + return 0; } =20 void @@ -309,187 +299,149 @@ int virDomainDeviceCCWAddressParseXML(xmlNodePtr node, virDomainDeviceCCWAddressPtr addr) { - int ret =3D -1; - char *cssid; - char *ssid; - char *devno; - memset(addr, 0, sizeof(*addr)); =20 - cssid =3D virXMLPropString(node, "cssid"); - ssid =3D virXMLPropString(node, "ssid"); - devno =3D virXMLPropString(node, "devno"); + g_autofree char *cssid =3D virXMLPropString(node, "cssid"); + g_autofree char *ssid =3D virXMLPropString(node, "ssid"); + g_autofree char *devno =3D virXMLPropString(node, "devno"); =20 if (cssid && ssid && devno) { if (cssid && virStrToLong_uip(cssid, NULL, 0, &addr->cssid) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'cssid' attribute")); - goto cleanup; + return -1; } if (ssid && virStrToLong_uip(ssid, NULL, 0, &addr->ssid) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'ssid' attribute")); - goto cleanup; + return -1; } if (devno && virStrToLong_uip(devno, NULL, 0, &addr->devno) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'devno' attribute")); - goto cleanup; + return -1; } if (!virDomainDeviceCCWAddressIsValid(addr)) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid specification for virtio ccw" " address: cssid=3D'%s' ssid=3D'%s' devno=3D'= %s'"), cssid, ssid, devno); - goto cleanup; + return -1; } addr->assigned =3D true; } else if (cssid || ssid || devno) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid partial specification for virtio ccw" " address")); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(cssid); - VIR_FREE(ssid); - VIR_FREE(devno); - return ret; + return 0; } =20 int virDomainDeviceDriveAddressParseXML(xmlNodePtr node, virDomainDeviceDriveAddressPtr addr) { - char *bus, *unit, *controller, *target; - int ret =3D -1; - memset(addr, 0, sizeof(*addr)); =20 - controller =3D virXMLPropString(node, "controller"); - bus =3D virXMLPropString(node, "bus"); - target =3D virXMLPropString(node, "target"); - unit =3D virXMLPropString(node, "unit"); + g_autofree char *controller =3D virXMLPropString(node, "controller"); + g_autofree char *bus =3D virXMLPropString(node, "bus"); + g_autofree char *target =3D virXMLPropString(node, "target"); + g_autofree char *unit =3D virXMLPropString(node, "unit"); =20 if (controller && virStrToLong_uip(controller, NULL, 10, &addr->controller) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'controller' attribute")); - goto cleanup; + return -1; } =20 if (bus && virStrToLong_uip(bus, NULL, 10, &addr->bus) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'bus' attribute")); - goto cleanup; + return -1; } =20 if (target && virStrToLong_uip(target, NULL, 10, &addr->target) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'target' attribute")); - goto cleanup; + return -1; } =20 if (unit && virStrToLong_uip(unit, NULL, 10, &addr->unit) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'unit' attribute")); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(controller); - VIR_FREE(bus); - VIR_FREE(target); - VIR_FREE(unit); - return ret; + return 0; } =20 int virDomainDeviceVirtioSerialAddressParseXML(xmlNodePtr node, virDomainDeviceVirtioSerialAddr= essPtr addr) { - char *controller, *bus, *port; - int ret =3D -1; - memset(addr, 0, sizeof(*addr)); =20 - controller =3D virXMLPropString(node, "controller"); - bus =3D virXMLPropString(node, "bus"); - port =3D virXMLPropString(node, "port"); + g_autofree char *controller =3D virXMLPropString(node, "controller"); + g_autofree char *bus =3D virXMLPropString(node, "bus"); + g_autofree char *port =3D virXMLPropString(node, "port"); =20 if (controller && virStrToLong_uip(controller, NULL, 10, &addr->controller) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'controller' attribute")); - goto cleanup; + return -1; } =20 if (bus && virStrToLong_uip(bus, NULL, 10, &addr->bus) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'bus' attribute")); - goto cleanup; + return -1; } =20 if (port && virStrToLong_uip(port, NULL, 10, &addr->port) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'port' attribute")); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(controller); - VIR_FREE(bus); - VIR_FREE(port); - return ret; + return 0; } =20 int virDomainDeviceCcidAddressParseXML(xmlNodePtr node, virDomainDeviceCcidAddressPtr addr) { - char *controller, *slot; - int ret =3D -1; - memset(addr, 0, sizeof(*addr)); =20 - controller =3D virXMLPropString(node, "controller"); - slot =3D virXMLPropString(node, "slot"); + g_autofree char *controller =3D virXMLPropString(node, "controller"); + g_autofree char *slot =3D virXMLPropString(node, "slot"); =20 if (controller && virStrToLong_uip(controller, NULL, 10, &addr->controller) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'controller' attribute")); - goto cleanup; + return -1; } =20 if (slot && virStrToLong_uip(slot, NULL, 10, &addr->slot) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'slot' attribute")); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(controller); - VIR_FREE(slot); - return ret; + return 0; } =20 static int @@ -519,57 +471,41 @@ int virDomainDeviceUSBAddressParseXML(xmlNodePtr node, virDomainDeviceUSBAddressPtr addr) { - char *port, *bus; - int ret =3D -1; =20 memset(addr, 0, sizeof(*addr)); =20 - port =3D virXMLPropString(node, "port"); - bus =3D virXMLPropString(node, "bus"); + g_autofree char *port =3D virXMLPropString(node, "port"); + g_autofree char *bus =3D virXMLPropString(node, "bus"); =20 if (port && virDomainDeviceUSBAddressParsePort(addr, port) < 0) - goto cleanup; + return -1; =20 if (bus && virStrToLong_uip(bus, NULL, 10, &addr->bus) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'bus' attribute")); - goto cleanup; + return -1; } - - ret =3D 0; - - cleanup: - VIR_FREE(bus); - VIR_FREE(port); - return ret; + return 0; } =20 int virDomainDeviceSpaprVioAddressParseXML(xmlNodePtr node, virDomainDeviceSpaprVioAddressPtr ad= dr) { - char *reg; - int ret; - memset(addr, 0, sizeof(*addr)); =20 - reg =3D virXMLPropString(node, "reg"); + g_autofree char *reg =3D virXMLPropString(node, "reg"); if (reg) { if (virStrToLong_ull(reg, NULL, 16, &addr->reg) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot parse
'reg' attribute")); - ret =3D -1; - goto cleanup; + return -1; } =20 addr->has_reg =3D true; } - - ret =3D 0; - cleanup: - VIR_FREE(reg); - return ret; + return 0; } =20 bool @@ -604,19 +540,17 @@ int virInterfaceLinkParseXML(xmlNodePtr node, virNetDevIfLinkPtr lnk) { - int ret =3D -1; - char *stateStr, *speedStr; int state; =20 - stateStr =3D virXMLPropString(node, "state"); - speedStr =3D virXMLPropString(node, "speed"); + g_autofree char *stateStr =3D virXMLPropString(node, "state"); + g_autofree char *speedStr =3D virXMLPropString(node, "speed"); =20 if (stateStr) { if ((state =3D virNetDevIfStateTypeFromString(stateStr)) < 0) { virReportError(VIR_ERR_XML_ERROR, _("unknown link state: %s"), stateStr); - goto cleanup; + return -1; } lnk->state =3D state; } @@ -626,14 +560,9 @@ virInterfaceLinkParseXML(xmlNodePtr node, virReportError(VIR_ERR_XML_ERROR, _("Unable to parse link speed: %s"), speedStr); - goto cleanup; + return -1; } - - ret =3D 0; - cleanup: - VIR_FREE(stateStr); - VIR_FREE(speedStr); - return ret; + return 0; } =20 int --=20 2.25.2