From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1593056073; cv=none; d=zohomail.com; s=zohoarc; b=V6NSE9wJKSk0/YKekvZGaJ2lb2KJ9aGVZKUHYv5FgJ1YHcirOgYHGk6elRgsZrYO1vCgcrqxP/ZgS84Y7FEvm4zS3l6/Fuj1BLgG8PCN7zScvt9Upy7bexV36T5qQ1wR5NRcUxt2kZqjiVHn8QO3vxE9il887iHkeqWoo3UYkkY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056073; 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=iYstB3gP7Z583x/DfLFcfrNp70VcYK8t4tpzYtV8hzM=; b=JhMon0/CXvPO0m5QZqCM8LcjY0VajQoO8scuaz1x3QIdlFULu/tlVpG3S2MQXA45hAyKmImbZxdaVxLIpKbikoOpreoNGY/7FwH813SFdJtEwE6cVg1bsGGQHfT+v77IhPq0iJbUMTkk2pTG3QNRPvwNgYzrlirylsJTHAONzuU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1593056073446269.0950794877117; Wed, 24 Jun 2020 20:34:33 -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-391-PzvylRIMN3KQlG9NSGACig-1; Wed, 24 Jun 2020 23:34:30 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E53EAEC1A0; Thu, 25 Jun 2020 03:34:24 +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 BD0A65C557; Thu, 25 Jun 2020 03:34:24 +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 64A0F833A2; Thu, 25 Jun 2020 03:34:23 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YMfJ007770 for ; Wed, 24 Jun 2020 23:34:22 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5409778FD9; Thu, 25 Jun 2020 03:34:22 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id D36E75BAC0 for ; Thu, 25 Jun 2020 03:34:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056072; 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=iYstB3gP7Z583x/DfLFcfrNp70VcYK8t4tpzYtV8hzM=; b=XGC2g1+T/opRBACfLDyVdZPtl2b8EXx7v+vlNDrEOhf7UPOjEMcQfOY2VgxqfWOYKLpDOW 4sERDd4giAFXSG42IrtbXzC6WgYAsyAteoxK0j2DhLzXfC0gHvT5IxktYWYlzWZkJw2s0F 3EuuCUWMj35/6zrN4/LVmL0uhQu37lo= X-MC-Unique: PzvylRIMN3KQlG9NSGACig-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 01/25] conf, vmx: check for OOM after calling xmlBufferCreate() Date: Wed, 24 Jun 2020 23:33:50 -0400 Message-Id: <20200625033414.1819594-2-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Although libvirt itself uses g_malloc0() and friends, which exit when there isn't enouogh memory, libxml2 uses standard malloc(), which just returns NULL on OOM - this means we must check for NULL on return from any libxml2 functions that allocate memory. xmlBufferCreate(), for example, might return NULL, and we don't always check for it. This patch adds checks where it isn't already done. (NB: Although libxml2 has a provision for changing behavior on OOM (by calling xmlMemSetup() to change what functions are used to allocating/freeing memory), we can't use that, since parts of libvirt code end up in libvirt.so, which is linked and called directly by applications that may themselves use libxml2 (and may have already set their own alternate malloc()), e.g. drivers like esx which live totally in the library rather than a separate process.) Signed-off-by: Laine Stump Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 6 +++++- src/conf/network_conf.c | 6 +++++- src/vmx/vmx.c | 7 +++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index fc7fcfb0c6..9d057f8c78 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29589,7 +29589,11 @@ virDomainDefFormatInternalSetRootName(virDomainDef= Ptr def, * Thankfully, libxml maps what looks like globals into * thread-local uses, so we are thread-safe. */ xmlIndentTreeOutput =3D 1; - xmlbuf =3D xmlBufferCreate(); + if (!(xmlbuf =3D xmlBufferCreate())) { + virReportOOMError(); + goto error; + } + if (xmlNodeDump(xmlbuf, def->metadata->doc, def->metadata, virBufferGetIndent(buf) / 2, 1) < 0) { xmlBufferFree(xmlbuf); diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index 87d43de1e3..5b578f894c 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -2518,7 +2518,11 @@ virNetworkDefFormatBuf(virBufferPtr buf, * Thankfully, libxml maps what looks like globals into * thread-local uses, so we are thread-safe. */ xmlIndentTreeOutput =3D 1; - xmlbuf =3D xmlBufferCreate(); + if (!(xmlbuf =3D xmlBufferCreate())) { + virReportOOMError(); + return -1; + } + if (xmlNodeDump(xmlbuf, def->metadata->doc, def->metadata, virBufferGetIndent(buf) / 2, 1) < 0) { xmlBufferFree(xmlbuf); diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index f2248cef53..fa9766995c 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -708,8 +708,11 @@ virVMXConvertToUTF8(const char *encoding, const char *= string) return NULL; } =20 - input =3D xmlBufferCreateStatic((char *)string, strlen(string)); - utf8 =3D xmlBufferCreate(); + if (!(input =3D xmlBufferCreateStatic((char *)string, strlen(string)))= || + !(utf8 =3D xmlBufferCreate())) { + virReportOOMError(); + goto cleanup; + } =20 if (xmlCharEncInFunc(handler, utf8, input) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 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=1593056083; cv=none; d=zohomail.com; s=zohoarc; b=jw6Ty1SrDjzeCsV9ErtLZLcT/kbYsl6G+0+RQAXQgfZ3LiUC48pYc6FLbIm9jOs5kZoD23j8XEskKyJUKHXKyIoZR5r8UB5C4XZLdDT3GNF4xim70MeEMmbIxgiepV9EJ/ypXyjbqp0nrN892dkbWDG8QmjJWxxPQV+xBUx8bqA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056083; 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=9OLHIpqC0GhsCjNNl7a67q1S7m+PQT0qdQDP8rAYtTA=; b=ge9Iltw6NNBc/Mr8wx0RYxcIgv3vF3F8GT9vD8pkVLsg0a5BBu++ImxMYLaDD6V6cY92s/90Cv8DxvlkN42JBSJpcn4odcNUpO5AfyjEa+YaW/xE7SvmJRVGZMR/iXrbq3AzNxccRhSPNJKTBclpTzkKx4YQ3wIaY0k8qJOcdHw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 1593056082994181.9400401344758; Wed, 24 Jun 2020 20:34:42 -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-16-o_2qmHHsPa25Q07SLF9OfQ-1; Wed, 24 Jun 2020 23:34:39 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 17815107ACF2; Thu, 25 Jun 2020 03:34:30 +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 EE6265C557; Thu, 25 Jun 2020 03:34:29 +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 BF59B1809557; Thu, 25 Jun 2020 03:34:29 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YMuC007775 for ; Wed, 24 Jun 2020 23:34:22 -0400 Received: by smtp.corp.redhat.com (Postfix) id 927015BAC0; Thu, 25 Jun 2020 03:34:22 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4F11A5BAE5 for ; Thu, 25 Jun 2020 03:34:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056081; 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=9OLHIpqC0GhsCjNNl7a67q1S7m+PQT0qdQDP8rAYtTA=; b=gibYFPYiBr8aQ2Wywikb8DpjnH/mOXr7Gd2VVn76+m8+DiD7bUqdZ6svWnk+R61+mLLmLF 8vBXrBmQoICBtlqbx3CxdintzVMlOHYVCZr/Yw9MM2UGJomQzI+LhsfiRQpIErjKc07zmQ 0p5xOSi0vFzkYEfyjyLpW+EGRcLqgPo= X-MC-Unique: o_2qmHHsPa25Q07SLF9OfQ-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 02/25] use g_autoptr for all xmlBuffers Date: Wed, 24 Jun 2020 23:33:51 -0400 Message-Id: <20200625033414.1819594-3-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.16 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 X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" AUTOPTR_CLEANUP_FUNC is set to xmlBufferFree() in util/virxml.h (This is actually new - added accidentally (but fortunately harmlessly!) in commit 257aba2dafe. I had added it along with the hunks in this patch, then decided to remove it and submit separately, but missed taking out the hunk in virxml.h) Signed-off-by: Laine Stump Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 4 +--- src/conf/network_conf.c | 4 +--- src/util/virxml.c | 12 +++--------- src/vmx/vmx.c | 10 +++------- 4 files changed, 8 insertions(+), 22 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 9d057f8c78..1916b51d38 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29579,7 +29579,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefP= tr def, def->description); =20 if (def->metadata) { - xmlBufferPtr xmlbuf; + g_autoptr(xmlBuffer) xmlbuf =3D NULL; int oldIndentTreeOutput =3D xmlIndentTreeOutput; =20 /* Indentation on output requires that we previously set @@ -29596,12 +29596,10 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, =20 if (xmlNodeDump(xmlbuf, def->metadata->doc, def->metadata, virBufferGetIndent(buf) / 2, 1) < 0) { - xmlBufferFree(xmlbuf); xmlIndentTreeOutput =3D oldIndentTreeOutput; goto error; } virBufferAsprintf(buf, "%s\n", (char *) xmlBufferContent(xmlbuf)); - xmlBufferFree(xmlbuf); xmlIndentTreeOutput =3D oldIndentTreeOutput; } =20 diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index 5b578f894c..4ebad1483c 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -2508,7 +2508,7 @@ virNetworkDefFormatBuf(virBufferPtr buf, virBufferAsprintf(buf, "%s\n", uuidstr); =20 if (def->metadata) { - xmlBufferPtr xmlbuf; + g_autoptr(xmlBuffer) xmlbuf =3D NULL; int oldIndentTreeOutput =3D xmlIndentTreeOutput; =20 /* Indentation on output requires that we previously set @@ -2525,12 +2525,10 @@ virNetworkDefFormatBuf(virBufferPtr buf, =20 if (xmlNodeDump(xmlbuf, def->metadata->doc, def->metadata, virBufferGetIndent(buf) / 2, 1) < 0) { - xmlBufferFree(xmlbuf); xmlIndentTreeOutput =3D oldIndentTreeOutput; return -1; } virBufferAsprintf(buf, "%s\n", (char *) xmlBufferContent(xmlbuf)); - xmlBufferFree(xmlbuf); xmlIndentTreeOutput =3D oldIndentTreeOutput; } =20 diff --git a/src/util/virxml.c b/src/util/virxml.c index 02b59ea2f8..848d549a8b 100644 --- a/src/util/virxml.c +++ b/src/util/virxml.c @@ -953,8 +953,7 @@ char * virXMLNodeToString(xmlDocPtr doc, xmlNodePtr node) { - xmlBufferPtr xmlbuf =3D NULL; - char *ret =3D NULL; + g_autoptr(xmlBuffer) xmlbuf =3D NULL; =20 if (!(xmlbuf =3D xmlBufferCreate())) { virReportOOMError(); @@ -964,15 +963,10 @@ virXMLNodeToString(xmlDocPtr doc, if (xmlNodeDump(xmlbuf, doc, node, 0, 1) =3D=3D 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("failed to convert the XML node tree")); - goto cleanup; + return NULL; } =20 - ret =3D g_strdup((const char *)xmlBufferContent(xmlbuf)); - - cleanup: - xmlBufferFree(xmlbuf); - - return ret; + return g_strdup((const char *)xmlBufferContent(xmlbuf)); } =20 =20 diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index fa9766995c..67bbe27fde 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -697,8 +697,8 @@ virVMXConvertToUTF8(const char *encoding, const char *s= tring) { char *result =3D NULL; xmlCharEncodingHandlerPtr handler; - xmlBufferPtr input; - xmlBufferPtr utf8; + g_autoptr(xmlBuffer) input =3D NULL; + g_autoptr(xmlBuffer) utf8 =3D NULL; =20 handler =3D xmlFindCharEncodingHandler(encoding); =20 @@ -720,14 +720,10 @@ virVMXConvertToUTF8(const char *encoding, const char = *string) goto cleanup; } =20 - result =3D (char *)utf8->content; - utf8->content =3D NULL; + result =3D (char *)g_steal_pointer(&utf8->content); =20 cleanup: xmlCharEncCloseFunc(handler); - xmlBufferFree(input); - xmlBufferFree(utf8); - return result; } =20 --=20 2.25.4 From nobody Tue Apr 23 20:52:49 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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=1593056083; cv=none; d=zohomail.com; s=zohoarc; b=AL1CP+vLKrN5f4nEV1ySwwYIWy3mHTJ+nJzq9cq7hYhHnupamvaryT+5auIjlyUStAB166o6w/K6NEamkT5gw0JJMMmGcHtUn/Yxkvb2Xncj0MaNCf01QHeYxIo1iMtasBHHDclvC61ikK5ASZhaAEXNXgxbQfTsiEMVyoM5Mqk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056083; 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=h4IRb5SmpbBHKxMU6uWwZIoUSFCYG/vVv/bPkELFlXc=; b=M66B6kBOiySXSmo8TPNjYQdsOmdqbq8cGiZ3PohgH0C/3nQMNwK4yGGofqyVPwThsMWsz+djF49h8yVOzpmwIInHPld5HZUDohdjSHSd5GJX2iAC3Mn3jonAGeRKFGH1gALlcvkgYyRoHNxZWuSZ4hiFN+x66BM897RlUKgx9uY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 159305608332363.6046538973759; Wed, 24 Jun 2020 20:34:43 -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-405-LIN_ACATOJC8_VbER4k6Vg-1; Wed, 24 Jun 2020 23:34:40 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4630DEC1AC; Thu, 25 Jun 2020 03:34:32 +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 F26335BAC6; Thu, 25 Jun 2020 03:34:29 +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 C7D40833D3; Thu, 25 Jun 2020 03:34:29 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YN3I007781 for ; Wed, 24 Jun 2020 23:34:23 -0400 Received: by smtp.corp.redhat.com (Postfix) id 26C285BAC6; Thu, 25 Jun 2020 03:34:23 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id BE6605BAC0 for ; Thu, 25 Jun 2020 03:34:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056082; 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=h4IRb5SmpbBHKxMU6uWwZIoUSFCYG/vVv/bPkELFlXc=; b=WoAisFU/PJDxjX9YwAaVY5ZGNrYnVZeL20NVj2qJvDOKn/jS3m5i7YKBZWcesm76Vmbex/ kQScLWn3ZUPOz4uhxQ8Uz8hpKdxvvuRVP31ou09IW1S5CGDPEk2sXvz48JnQ1UAjYqq8Sv 34vOw8g4I6JUdKWqQYy1l2807wIrLpY= X-MC-Unique: LIN_ACATOJC8_VbER4k6Vg-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 03/25] conf: refactor virDomainBlkioDeviceParseXML to remove possible NULL dereference Date: Wed, 24 Jun 2020 23:33:52 -0400 Message-Id: <20200625033414.1819594-4-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" virDomainBlkioDeviceParseXML() has multiple cases of sending the return from xmlNodeGetContent() directly to virStrToLong_xx() without checking for NULL. Although it is *very* rare for xmlNodeGetContent() to return NULL (possibly it only happens in an OOM condition? The documentation is unclear), it could happen, and the refactor in this patch manages to eliminate several lines of repeated code while adding in a (single) check for NULL. Signed-off-by: Laine Stump --- src/conf/domain_conf.c | 39 +++++++++++++++------------------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 1916b51d38..8cde1cd0e8 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1628,73 +1628,64 @@ virDomainBlkioDeviceParseXML(xmlNodePtr root, virBlkioDevicePtr dev) { xmlNodePtr node; - g_autofree char *c =3D NULL; + g_autofree char *path =3D NULL; =20 node =3D root->children; while (node) { - if (node->type =3D=3D XML_ELEMENT_NODE) { - if (virXMLNodeNameEqual(node, "path") && !dev->path) { - dev->path =3D (char *)xmlNodeGetContent(node); + g_autofree char *c =3D NULL; + + if (node->type =3D=3D XML_ELEMENT_NODE && + (c =3D (char *)xmlNodeGetContent(node))) { + if (virXMLNodeNameEqual(node, "path") && !path) { + path =3D g_steal_pointer(&c); } else if (virXMLNodeNameEqual(node, "weight")) { - c =3D (char *)xmlNodeGetContent(node); if (virStrToLong_ui(c, NULL, 10, &dev->weight) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("could not parse weight %s"), c); - goto error; + return -1; } - VIR_FREE(c); } else if (virXMLNodeNameEqual(node, "read_bytes_sec")) { - c =3D (char *)xmlNodeGetContent(node); if (virStrToLong_ull(c, NULL, 10, &dev->rbps) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("could not parse read bytes sec %s"), c); - goto error; + return -1; } - VIR_FREE(c); } else if (virXMLNodeNameEqual(node, "write_bytes_sec")) { - c =3D (char *)xmlNodeGetContent(node); if (virStrToLong_ull(c, NULL, 10, &dev->wbps) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("could not parse write bytes sec %s"), c); - goto error; + return -1; } - VIR_FREE(c); } else if (virXMLNodeNameEqual(node, "read_iops_sec")) { - c =3D (char *)xmlNodeGetContent(node); if (virStrToLong_ui(c, NULL, 10, &dev->riops) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("could not parse read iops sec %s"), c); - goto error; + return -1; } - VIR_FREE(c); } else if (virXMLNodeNameEqual(node, "write_iops_sec")) { - c =3D (char *)xmlNodeGetContent(node); if (virStrToLong_ui(c, NULL, 10, &dev->wiops) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("could not parse write iops sec %s"), c); - goto error; + return -1; } - VIR_FREE(c); } } node =3D node->next; } - if (!dev->path) { + + if (!path) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("missing per-device path")); return -1; } =20 + dev->path =3D g_steal_pointer(&path); return 0; - - error: - VIR_FREE(dev->path); - return -1; } =20 =20 --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1593056078; cv=none; d=zohomail.com; s=zohoarc; b=CUXaq+SPZx1QozEtLVdi9pViJknsjzhGsRhnpm3yP2FtZKRauEXWM9MMQdqSQvgTe/eACoa31KmNFb+3fdp/P9vSehDxnGDtGZDE7VbpW4Jqc5203g97YwFfaOeKMbk+Ikvj8d8ujLXd1b/RzeCVGeC7t9V4fOmNxE5o3SfgvsM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056078; 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=nZm1j/PPFVtg5ZGokffmZcpJp4LcgfPiINls73tR18w=; b=guyX636YP9BaUG/Q6PMujEUizZPBZhEHQQGWYNrZYqbkkf1LA0AYUpX7s7CJxffFELmJlgEieQrTPSJXFwiLsxBARX2TFc5EAgGp6ocZ/p+9YnFZWSyuPym2iZ4cLrrjeQBG+PhdQprsOxTJqNkg3zlNXWqQ/W09/kLDe2R5pL8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1593056078659761.5272747939931; Wed, 24 Jun 2020 20:34:38 -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-187-aUBOGATyN3aF7RVCb6R9yg-1; Wed, 24 Jun 2020 23:34:33 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CE3B1107ACF4; Thu, 25 Jun 2020 03:34:27 +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 B01F45D9D3; Thu, 25 Jun 2020 03:34:27 +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 8388A833BD; Thu, 25 Jun 2020 03:34:27 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YNWE007787 for ; Wed, 24 Jun 2020 23:34:23 -0400 Received: by smtp.corp.redhat.com (Postfix) id 7BECD5BAC6; Thu, 25 Jun 2020 03:34:23 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 38F065BAC0 for ; Thu, 25 Jun 2020 03:34:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056077; 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=nZm1j/PPFVtg5ZGokffmZcpJp4LcgfPiINls73tR18w=; b=UB2VpjqiNNaF110JnDB3mFJosF7ZGuRInq7sKSZMpPd0kWcrc5++rsaNlfi345EyhjuEXz C3Xu6mYUVdiPXQ4/wuuZ4HoELHRYFwLR3hqNKXlyh65PqryxXCHkj9w81H9Ooc2vM7XVAz oT6s0ghef9Rf5vq9gqQw/Grdn5uEkBU= X-MC-Unique: aUBOGATyN3aF7RVCb6R9yg-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 04/25] util: validate return from xmlNodeGetContent before use Date: Wed, 24 Jun 2020 23:33:53 -0400 Message-Id: <20200625033414.1819594-5-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" There were a few uses of xmlNodeGetContent() that didn't check for NULL before using the result. A NULL return from xmlNodeGetContent() *could* (probably does) mean that there was an Out of Memory condition, but it is unclear from the documentation if that is always the case, or if it could just indicate a missing value in the document, so we don't report an OOM error, but just don't try to use it for, e.g., conversion to an integer. Signed-off-by: Laine Stump --- src/conf/domain_conf.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 8cde1cd0e8..4d27c9caa8 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -10556,22 +10556,22 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xm= lopt, virXMLNodeNameEqual(cur, "wwn")) { wwn =3D (char *)xmlNodeGetContent(cur); =20 - if (!virValidateWWN(wwn)) + if (wwn && !virValidateWWN(wwn)) goto error; } else if (!vendor && virXMLNodeNameEqual(cur, "vendor")) { - vendor =3D (char *)xmlNodeGetContent(cur); - - if (strlen(vendor) > VENDOR_LEN) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("disk vendor is more than 8 characters")); - goto error; - } + if ((vendor =3D (char *)xmlNodeGetContent(cur))) { + if (strlen(vendor) > VENDOR_LEN) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("disk vendor is more than 8 character= s")); + goto error; + } =20 - if (!virStringIsPrintable(vendor)) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("disk vendor is not printable string")); - goto error; + if (!virStringIsPrintable(vendor)) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("disk vendor is not printable string"= )); + goto error; + } } } else if (!product && virXMLNodeNameEqual(cur, "product")) { @@ -20374,8 +20374,8 @@ virDomainDefParseBootOptions(virDomainDefPtr def, =20 if (STREQ_NULLABLE(tmp, "slic")) { VIR_FREE(tmp); - tmp =3D virXMLNodeContentString(nodes[0]); - def->os.slic_table =3D virFileSanitizePath(tmp); + if ((tmp =3D virXMLNodeContentString(nodes[0]))) + def->os.slic_table =3D virFileSanitizePath(tmp); } else { virReportError(VIR_ERR_XML_ERROR, _("Unknown acpi table type: %s"), --=20 2.25.4 From nobody Tue Apr 23 20:52:49 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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=1593056088; cv=none; d=zohomail.com; s=zohoarc; b=k19DKLbTZIQrwyljeK2duJ5eAVukMADv62yxxkFKxaGz1tifbkvSHn5z1K3mouauB+N+T9iWuY+c8gYjFenkc42nLTwRiX5Et4FimOq5cPB4tNtsdLqbV4NtVrMU2m4Zh665LxnUgfVSprq3HSPoIbFQqAY08AWyjqRNY3Uhou8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056088; 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=3xtR1th8Jd6NJdozPgFZZq0l/kokW5PAuj+HJ5bQ3FE=; b=K0f6yWpJMKHWSszYiSojYC33yZCB/ebhNuvqJvFpEjEKuNPP+qt6o2wCUPyByWpzfTiNQb1PZDza6am4lU9u9g+ok2OBa7BpDkDjBjRPuGp6Ta4XozdZGwIn9Q+RQHBWDEYWxqUgZs2WvC4EFfegJgj4RXVyTNT1px3Jv/xnf7Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1593056088103571.8135490129048; Wed, 24 Jun 2020 20:34:48 -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-493-sKGdPBhLOGK7Ee9yFdj14w-1; Wed, 24 Jun 2020 23:34:36 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 275541800D4A; Thu, 25 Jun 2020 03:34:31 +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 04F2D196B6; Thu, 25 Jun 2020 03:34:31 +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 C98C31809563; Thu, 25 Jun 2020 03:34:30 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YNZX007795 for ; Wed, 24 Jun 2020 23:34:23 -0400 Received: by smtp.corp.redhat.com (Postfix) id E91175BAC0; Thu, 25 Jun 2020 03:34:23 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id A619C5BACC for ; Thu, 25 Jun 2020 03:34:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056086; 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=3xtR1th8Jd6NJdozPgFZZq0l/kokW5PAuj+HJ5bQ3FE=; b=jB7ik38Ft/s1Zp66C3N0QYD0w+HqFWn6YdmitI2aZxhdKbOgOHdJVfeT7NM/6vxhqhHX2j QGkNf9Ld93b8+6noA0uGw4B41tY6I/OAaV06bPQyCrLYR+XaCNNJrmwQrvVBV6K79LStT2 jcNHFgFBy8boyAJJ6k279X69WtjQfqc= X-MC-Unique: sKGdPBhLOGK7Ee9yFdj14w-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 05/25] util: remove OOM error log from virGetHostnameImpl() Date: Wed, 24 Jun 2020 23:33:54 -0400 Message-Id: <20200625033414.1819594-6-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The strings allocated in virGetHostnameImpl() are all allocated via g_strdup(), which will exit on OOM anyway, so the call to virReportOOMError() is redundant, and removing it allows slight modification to the code, in particular the cleanup label can be eliminated. Signed-off-by: Laine Stump Reviewed-by: J=C3=A1n Tomko --- src/util/virutil.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/util/virutil.c b/src/util/virutil.c index f39122e8dd..04f882fda7 100644 --- a/src/util/virutil.c +++ b/src/util/virutil.c @@ -503,8 +503,7 @@ virGetHostnameImpl(bool quiet) * string as-is; it's up to callers to check whether "localhost" * is allowed. */ - result =3D g_strdup(hostname); - goto cleanup; + return g_strdup(hostname); } =20 /* otherwise, it's a shortened, non-localhost, hostname. Attempt to @@ -519,8 +518,7 @@ virGetHostnameImpl(bool quiet) if (!quiet) VIR_WARN("getaddrinfo failed for '%s': %s", hostname, gai_strerror(r)); - result =3D g_strdup(hostname); - goto cleanup; + return g_strdup(hostname); } =20 /* Tell static analyzers about getaddrinfo semantics. */ @@ -538,10 +536,6 @@ virGetHostnameImpl(bool quiet) result =3D g_strdup(info->ai_canonname); =20 freeaddrinfo(info); - - cleanup: - if (!result) - virReportOOMError(); return result; } =20 --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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 (zohomail.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=1593056179; cv=none; d=zohomail.com; s=zohoarc; b=WUAFCxeKyFe81oTSvywXBR31EvqhWebLk3hVxygJQqHy75lilQRM+WlpMLDV07iHZSLPU6s/9Nvo2aU0UH1l4vrsVaCwOgeh93uYdGDP2N+5w2QFZ2gNk0jLQpK9YJFsHTQDJOADt+3NPX7NVRgaVEWNWx5sGhMR0YPBQlnxN8E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056179; 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=oKFjbdG8KZ/KwwSXH2RMjX37zfwDKYvCqydkgci9AEs=; b=CDalP5Ri4mo2DV1nFocf7O9bxxASadkM7Z3qzI4nsMB5MpsxGC4UUt5j3iHht880GBMyl4i1xvuTWIv8YePnabbfsWALFNl5i6cpI0shahv13xHAEzWi0DpR+JVcH4rq0pI41a9FJYoBriHMwzIbrkOf1mKfzsOhHX4UQLJVYxc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.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 1593056179304112.98281143739212; Wed, 24 Jun 2020 20:36:19 -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-14-h2CpJ17BOsW8su06hDUpoA-1; Wed, 24 Jun 2020 23:34:43 -0400 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 9293618A0778; Thu, 25 Jun 2020 03:34:33 +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 6F4941011396; Thu, 25 Jun 2020 03:34: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 3EF3A833C6; Thu, 25 Jun 2020 03:34:33 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YOYk007804 for ; Wed, 24 Jun 2020 23:34:24 -0400 Received: by smtp.corp.redhat.com (Postfix) id 8C35F5BAC6; Thu, 25 Jun 2020 03:34:24 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 213155BAC0 for ; Thu, 25 Jun 2020 03:34:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056178; 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=oKFjbdG8KZ/KwwSXH2RMjX37zfwDKYvCqydkgci9AEs=; b=LaZa2B3cx/XofGxSTXEz/U8+YsYtXxnD0WRVgFQTYLI5Klva2yo7uuh7eCja+bChF9okJ8 OKzM2yFSxHJgR3X0iCxU8typyydPz4Jj7HuMJU0frOfLvD0BuSARYH4AjxieLwL74e+3OP PNpAF5UaWfHN13JB1/ekFjzgsIIXQLY= X-MC-Unique: h2CpJ17BOsW8su06hDUpoA-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 06/25] conf: eliminate useless error label in virDomainFeaturesDefParse() Date: Wed, 24 Jun 2020 23:33:55 -0400 Message-Id: <20200625033414.1819594-7-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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 X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The error: label in this function just does "return -1", so replace all the "goto error" in the function with "return -1". Signed-off-by: Laine Stump Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 91 ++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 4d27c9caa8..243590854f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -19312,14 +19312,14 @@ virDomainFeaturesDefParse(virDomainDefPtr def, int n; =20 if ((n =3D virXPathNodeSet("./features/*", ctxt, &nodes)) < 0) - goto error; + return -1; =20 for (i =3D 0; i < n; i++) { int val =3D virDomainFeatureTypeFromString((const char *)nodes[i]-= >name); if (val < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unexpected feature '%s'"), nodes[i]->name); - goto error; + return -1; } =20 switch ((virDomainFeature) val) { @@ -19330,7 +19330,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown value for attribute eoi: '%s= '"), tmp); - goto error; + return -1; } def->apic_eoi =3D eoi; VIR_FREE(tmp); @@ -19353,7 +19353,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown policy attribute '%s' of fea= ture '%s'"), tmp, virDomainFeatureTypeToString(val)); - goto error; + return -1; } VIR_FREE(tmp); } else { @@ -19372,7 +19372,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown state attribute '%s' of feat= ure '%s'"), tmp, virDomainFeatureTypeToString(val)); - goto error; + return -1; } VIR_FREE(tmp); } else { @@ -19386,7 +19386,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, if (gic_version < 0 || gic_version =3D=3D VIR_GIC_VERSION_= NONE) { virReportError(VIR_ERR_XML_ERROR, _("malformed gic version: %s"), tmp); - goto error; + return -1; } def->gic_version =3D gic_version; VIR_FREE(tmp); @@ -19402,7 +19402,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unknown driver mode: %s"), tmp); - goto error; + return -1; } def->features[val] =3D value; VIR_FREE(tmp); @@ -19417,7 +19417,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unknown HPT resizing setting: %s"), tmp); - goto error; + return -1; } def->hpt_resizing =3D (virDomainHPTResizing) value; VIR_FREE(tmp); @@ -19433,7 +19433,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Unable to parse HPT maxpagesize setting"= )); - goto error; + return -1; } def->hpt_maxpagesize =3D VIR_DIV_UP(def->hpt_maxpagesize, 1024= ); =20 @@ -19451,7 +19451,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unknown value: %s"), tmp); - goto error; + return -1; } def->features[val] =3D value; VIR_FREE(tmp); @@ -19466,7 +19466,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unknown value: %s"), tmp); - goto error; + return -1; } def->features[val] =3D value; VIR_FREE(tmp); @@ -19481,7 +19481,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unknown value: %s"), tmp); - goto error; + return -1; } def->features[val] =3D value; VIR_FREE(tmp); @@ -19495,13 +19495,13 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("missing state attribute '%s' of feature = '%s'"), tmp, virDomainFeatureTypeToString(val)); - goto error; + return -1; } if ((def->features[val] =3D virTristateSwitchTypeFromString(tm= p)) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown state attribute '%s' of feature = '%s'"), tmp, virDomainFeatureTypeToString(val)); - goto error; + return -1; } VIR_FREE(tmp); break; @@ -19518,7 +19518,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, int value; node =3D ctxt->node; if ((n =3D virXPathNodeSet("./features/hyperv/*", ctxt, &nodes)) <= 0) - goto error; + return -1; =20 for (i =3D 0; i < n; i++) { feature =3D virDomainHypervTypeFromString((const char *)nodes[= i]->name); @@ -19526,7 +19526,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unsupported HyperV Enlightenment feature= : %s"), nodes[i]->name); - goto error; + return -1; } =20 ctxt->node =3D nodes[i]; @@ -19536,7 +19536,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, _("missing 'state' attribute for " "HyperV Enlightenment feature '%s'"), nodes[i]->name); - goto error; + return -1; } =20 if ((value =3D virTristateSwitchTypeFromString(tmp)) < 0) { @@ -19544,7 +19544,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, _("invalid value of state argument " "for HyperV Enlightenment feature '%s'"), nodes[i]->name); - goto error; + return -1; } =20 VIR_FREE(tmp); @@ -19573,14 +19573,14 @@ virDomainFeaturesDefParse(virDomainDefPtr def, &def->hyperv_spinlocks) < 0) { virReportError(VIR_ERR_XML_ERROR, "%s", _("invalid HyperV spinlock retry count"= )); - goto error; + return -1; } =20 if (def->hyperv_spinlocks < 0xFFF) { virReportError(VIR_ERR_XML_ERROR, "%s", _("HyperV spinlock retry count must be " "at least 4095")); - goto error; + return -1; } break; =20 @@ -19593,7 +19593,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_XML_ERROR, "%s", _("missing 'value' attribute for " "HyperV feature 'vendor_id'")); - goto error; + return -1; } =20 if (strlen(def->hyperv_vendor_id) > VIR_DOMAIN_HYPERV_VEND= OR_ID_MAX) { @@ -19601,14 +19601,14 @@ virDomainFeaturesDefParse(virDomainDefPtr def, _("HyperV vendor_id value must not be m= ore " "than %d characters."), VIR_DOMAIN_HYPERV_VENDOR_ID_MAX); - goto error; + return -1; } =20 /* ensure that the string can be passed to qemu */ if (strchr(def->hyperv_vendor_id, ',')) { virReportError(VIR_ERR_XML_ERROR, "%s", _("HyperV vendor_id value is invalid")); - goto error; + return -1; } =20 /* coverity[dead_error_begin] */ @@ -19623,28 +19623,28 @@ virDomainFeaturesDefParse(virDomainDefPtr def, if (def->features[VIR_DOMAIN_HYPERV_STIMER] =3D=3D VIR_TRISTATE_SWITCH= _ON) { int value; if ((n =3D virXPathNodeSet("./features/hyperv/stimer/*", ctxt, &no= des)) < 0) - goto error; + return -1; =20 for (i =3D 0; i < n; i++) { if (STRNEQ((const char *)nodes[i]->name, "direct")) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unsupported Hyper-V stimer feature: %s"), nodes[i]->name); - goto error; + return -1; } =20 if (!(tmp =3D virXMLPropString(nodes[i], "state"))) { virReportError(VIR_ERR_XML_ERROR, _("missing 'state' attribute for " "Hyper-V stimer '%s' feature"), "direct"); - goto error; + return -1; } =20 if ((value =3D virTristateSwitchTypeFromString(tmp)) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("invalid value of state argument " "for Hyper-V stimer '%s' feature"), "dire= ct"); - goto error; + return -1; } =20 VIR_FREE(tmp); @@ -19657,7 +19657,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, int feature; int value; if ((n =3D virXPathNodeSet("./features/kvm/*", ctxt, &nodes)) < 0) - goto error; + return -1; =20 for (i =3D 0; i < n; i++) { feature =3D virDomainKVMTypeFromString((const char *)nodes[i]-= >name); @@ -19665,7 +19665,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unsupported KVM feature: %s"), nodes[i]->name); - goto error; + return -1; } =20 switch ((virDomainKVM) feature) { @@ -19676,7 +19676,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, _("missing 'state' attribute for " "KVM feature '%s'"), nodes[i]->name); - goto error; + return -1; } =20 if ((value =3D virTristateSwitchTypeFromString(tmp)) <= 0) { @@ -19684,7 +19684,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, _("invalid value of state argument " "for KVM feature '%s'"), nodes[i]->name); - goto error; + return -1; } =20 VIR_FREE(tmp); @@ -19705,7 +19705,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, g_autofree char *ptval =3D NULL; =20 if ((n =3D virXPathNodeSet("./features/xen/*", ctxt, &nodes)) < 0) - goto error; + return -1; =20 for (i =3D 0; i < n; i++) { feature =3D virDomainXenTypeFromString((const char *)nodes[i]-= >name); @@ -19713,7 +19713,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unsupported Xen feature: %s"), nodes[i]->name); - goto error; + return -1; } =20 if (!(tmp =3D virXMLPropString(nodes[i], "state"))) { @@ -19721,7 +19721,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, _("missing 'state' attribute for " "Xen feature '%s'"), nodes[i]->name); - goto error; + return -1; } =20 if ((value =3D virTristateSwitchTypeFromString(tmp)) < 0) { @@ -19729,7 +19729,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, _("invalid value of state argument " "for Xen feature '%s'"), nodes[i]->name); - goto error; + return -1; } =20 VIR_FREE(tmp); @@ -19750,7 +19750,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unsupported mode '%s' for Xen pa= ssthrough feature"), ptval); - goto error; + return -1; } =20 if (mode !=3D VIR_DOMAIN_XEN_PASSTHROUGH_MODE_SYNC_PT = && @@ -19758,7 +19758,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_XML_ERROR, "%s", _("'mode' attribute for Xen feature= " "'passthrough' must be 'sync_pt' = or 'share_pt'")); - goto error; + return -1; } def->xen_passthrough_mode =3D mode; } @@ -19781,39 +19781,39 @@ virDomainFeaturesDefParse(virDomainDefPtr def, ULLONG_MAX, false); if (rv < 0) - goto error; + return -1; def->tseg_specified =3D rv; } =20 if (def->features[VIR_DOMAIN_FEATURE_MSRS] =3D=3D VIR_TRISTATE_SWITCH_= ON) { if ((node =3D virXPathNode("./features/msrs", ctxt)) =3D=3D NULL) - goto error; + return -1; =20 if (!(tmp =3D virXMLPropString(node, "unknown"))) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("missing 'unknown' attribute for feature '%s'= "), virDomainFeatureTypeToString(VIR_DOMAIN_FEATURE= _MSRS)); - goto error; + return -1; } =20 if ((def->msrs_features[VIR_DOMAIN_MSRS_UNKNOWN] =3D virDomainMsrs= UnknownTypeFromString(tmp)) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown 'unknown' value '%s'"), tmp); - goto error; + return -1; } VIR_FREE(tmp); } =20 if ((n =3D virXPathNodeSet("./features/capabilities/*", ctxt, &nodes))= < 0) - goto error; + return -1; =20 for (i =3D 0; i < n; i++) { int val =3D virDomainProcessCapsFeatureTypeFromString((const char = *)nodes[i]->name); if (val < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unexpected capability feature '%s'"), nodes[= i]->name); - goto error; + return -1; } =20 if ((tmp =3D virXMLPropString(nodes[i], "state"))) { @@ -19821,7 +19821,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown state attribute '%s' of feature = capability '%s'"), tmp, virDomainProcessCapsFeatureTypeToStrin= g(val)); - goto error; + return -1; } VIR_FREE(tmp); } else { @@ -19830,9 +19830,6 @@ virDomainFeaturesDefParse(virDomainDefPtr def, } VIR_FREE(nodes); return 0; - - error: - return -1; } =20 =20 --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 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=1593056105; cv=none; d=zohomail.com; s=zohoarc; b=GPHuKQBaEOWJ8KmXU3NsXDR3213rpX0cb/qHhX18atV5PKvHet7Cg44H0p8HtItZqWPHCdX7WN5y9gwljNlASrwx3vPgz02XmcUEfRyAsNyTW3YeBgglwmkMrvRNHqY7K3bABqbMVGkKcGF3BDDjBdS7/c9vijvYDktVgw2I9s8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056105; 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=IQmP1CW2Fo9kBvKTnWTk/JuWIi/MUFn3nGmO0LgUYbQ=; b=FCVX8wvmTxiYKtG2okaa/vscdnKMTt3jZIFCZxgRhIVfMxMADYqJzP0kl9hVTIVNeK5ji0Yu/sCKL7TAmGijyjMSZRjiJGudGGa5qHssyTAtyS7ksmY9IWCxIaBXT4xos6/uu21HwXc29GUIdCr63OJYSB6ZemGp/C54rcM26qc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 1593056105103814.5749178323962; Wed, 24 Jun 2020 20:35:05 -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-213-e_ylyWfyMC-ihL7u9NWgwA-1; Wed, 24 Jun 2020 23:34:39 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 54D441085936; Thu, 25 Jun 2020 03:34: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 350845D9D3; Thu, 25 Jun 2020 03:34: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 053F5180043E; Thu, 25 Jun 2020 03:34:32 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YPmO007811 for ; Wed, 24 Jun 2020 23:34:25 -0400 Received: by smtp.corp.redhat.com (Postfix) id 06D7D5BAC6; Thu, 25 Jun 2020 03:34:25 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id B7A415BAC0 for ; Thu, 25 Jun 2020 03:34:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056103; 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=IQmP1CW2Fo9kBvKTnWTk/JuWIi/MUFn3nGmO0LgUYbQ=; b=BFbHMGRm8nlszRjROPAOX1+8onNjxNjQhG6TZBCnRFtL4HN2rRHzP6TsromXROB+HnS2yz DZlCEMqapL14YByBoK0mgdinGe1xMJJ8T5eLinG5FZOpDniNNW81kl+LY4MHD6/pMUo1UN wz8GFSQiP6Hz3F8ZCDO3C7JBwbER0xc= X-MC-Unique: e_ylyWfyMC-ihL7u9NWgwA-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 07/25] util: eliminate error label in virDomainDefFormatInternalSetRootName() Date: Wed, 24 Jun 2020 23:33:56 -0400 Message-Id: <20200625033414.1819594-8-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The only reason for the error label in this function is to call virBufferFreeAndReset(). It's actually more common for a failed format function to just leave the virBuffer alone and let the caller free it when there is a failure, and in fact the only caller of this function that *wasn't* already calling virBufferFreeAndReset() on failure was virDomainDefFormat() (via virDomainDefFormatInternal()). That is easily solved by modifying virDomainDefFormat() to declare its virBuffer buf with g_auto(), so that virBufferFreeAndReset() is automatically called. Signed-off-by: Laine Stump Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 88 ++++++++++++++++++++---------------------- 1 file changed, 42 insertions(+), 46 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 243590854f..0307ffcbd6 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29534,7 +29534,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefP= tr def, if (!(type =3D virDomainVirtTypeToString(def->virtType))) { virReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected domain type %d"), def->virtType); - goto error; + return -1; } =20 if (def->id =3D=3D -1) @@ -29579,13 +29579,13 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, xmlIndentTreeOutput =3D 1; if (!(xmlbuf =3D xmlBufferCreate())) { virReportOOMError(); - goto error; + return -1; } =20 if (xmlNodeDump(xmlbuf, def->metadata->doc, def->metadata, virBufferGetIndent(buf) / 2, 1) < 0) { xmlIndentTreeOutput =3D oldIndentTreeOutput; - goto error; + return -1; } virBufferAsprintf(buf, "%s\n", (char *) xmlBufferContent(xmlbuf)); xmlIndentTreeOutput =3D oldIndentTreeOutput; @@ -29608,13 +29608,13 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, def->mem.cur_balloon); =20 if (virDomainDefFormatBlkiotune(buf, def) < 0) - goto error; + return -1; =20 virDomainMemtuneFormat(buf, &def->mem); virDomainMemorybackingFormat(buf, &def->mem); =20 if (virDomainCpuDefFormat(buf, def) < 0) - goto error; + return -1; =20 if (def->niothreadids > 0) { virBufferAsprintf(buf, "%zu\n", @@ -29632,10 +29632,10 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, } =20 if (virDomainCputuneDefFormat(buf, def, flags) < 0) - goto error; + return -1; =20 if (virDomainNumatuneFormatXML(buf, def->numa) < 0) - goto error; + return -1; =20 if (def->resource) virDomainResourceDefFormat(buf, def->resource); @@ -29720,7 +29720,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefP= tr def, virReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected boot device type %d"), def->os.bootDevs[n]); - goto error; + return -1; } virBufferAsprintf(buf, "\n", boottype); } @@ -29752,7 +29752,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefP= tr def, if (mode =3D=3D NULL) { virReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected smbios mode %d"), def->os.smbios_= mode); - goto error; + return -1; } virBufferAsprintf(buf, "\n", mode); } @@ -29783,10 +29783,10 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, } =20 if (virDomainDefFormatFeatures(buf, def) < 0) - goto error; + return -1; =20 if (virCPUDefFormatBufFull(buf, def->cpu, def->numa) < 0) - goto error; + return -1; =20 virBufferAsprintf(buf, "clock.offset)); @@ -29817,7 +29817,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefP= tr def, virBufferAdjustIndent(buf, 2); for (n =3D 0; n < def->clock.ntimers; n++) { if (virDomainTimerDefFormat(buf, def->clock.timers[n]) < 0) - goto error; + return -1; } virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "\n"); @@ -29826,20 +29826,20 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, if (virDomainEventActionDefFormat(buf, def->onPoweroff, "on_poweroff", virDomainLifecycleActionTypeToString= ) < 0) - goto error; + return -1; if (virDomainEventActionDefFormat(buf, def->onReboot, "on_reboot", virDomainLifecycleActionTypeToString= ) < 0) - goto error; + return -1; if (virDomainEventActionDefFormat(buf, def->onCrash, "on_crash", virDomainLifecycleActionTypeToString= ) < 0) - goto error; + return -1; if (def->onLockFailure !=3D VIR_DOMAIN_LOCK_FAILURE_DEFAULT && virDomainEventActionDefFormat(buf, def->onLockFailure, "on_lockfailure", virDomainLockFailureTypeToString) < = 0) - goto error; + return -1; =20 if (def->pm.s3 || def->pm.s4) { virBufferAddLit(buf, "\n"); @@ -29866,35 +29866,35 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, =20 for (n =3D 0; n < def->ndisks; n++) if (virDomainDiskDefFormat(buf, def->disks[n], flags, xmlopt) < 0) - goto error; + return -1; =20 for (n =3D 0; n < def->ncontrollers; n++) if (virDomainControllerDefFormat(buf, def->controllers[n], flags) = < 0) - goto error; + return -1; =20 for (n =3D 0; n < def->nleases; n++) if (virDomainLeaseDefFormat(buf, def->leases[n]) < 0) - goto error; + return -1; =20 for (n =3D 0; n < def->nfss; n++) if (virDomainFSDefFormat(buf, def->fss[n], flags) < 0) - goto error; + return -1; =20 for (n =3D 0; n < def->nnets; n++) if (virDomainNetDefFormat(buf, def->nets[n], xmlopt, flags) < 0) - goto error; + return -1; =20 for (n =3D 0; n < def->nsmartcards; n++) if (virDomainSmartcardDefFormat(buf, def->smartcards[n], flags) < = 0) - goto error; + return -1; =20 for (n =3D 0; n < def->nserials; n++) if (virDomainChrDefFormat(buf, def->serials[n], flags) < 0) - goto error; + return -1; =20 for (n =3D 0; n < def->nparallels; n++) if (virDomainChrDefFormat(buf, def->parallels[n], flags) < 0) - goto error; + return -1; =20 for (n =3D 0; n < def->nconsoles; n++) { virDomainChrDef console; @@ -29912,36 +29912,36 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, memcpy(&console, def->consoles[n], sizeof(console)); } if (virDomainChrDefFormat(buf, &console, flags) < 0) - goto error; + return -1; } =20 for (n =3D 0; n < def->nchannels; n++) if (virDomainChrDefFormat(buf, def->channels[n], flags) < 0) - goto error; + return -1; =20 for (n =3D 0; n < def->ninputs; n++) { if (virDomainInputDefFormat(buf, def->inputs[n], flags) < 0) - goto error; + return -1; } =20 for (n =3D 0; n < def->ntpms; n++) { if (virDomainTPMDefFormat(buf, def->tpms[n], flags) < 0) - goto error; + return -1; } =20 for (n =3D 0; n < def->ngraphics; n++) { if (virDomainGraphicsDefFormat(buf, def->graphics[n], flags) < 0) - goto error; + return -1; } =20 for (n =3D 0; n < def->nsounds; n++) { if (virDomainSoundDefFormat(buf, def->sounds[n], flags) < 0) - goto error; + return -1; } =20 for (n =3D 0; n < def->nvideos; n++) { if (virDomainVideoDefFormat(buf, def->videos[n], flags) < 0) - goto error; + return -1; } =20 for (n =3D 0; n < def->nhostdevs; n++) { @@ -29951,13 +29951,13 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, */ if (!def->hostdevs[n]->parentnet && virDomainHostdevDefFormat(buf, def->hostdevs[n], flags) < 0) { - goto error; + return -1; } } =20 for (n =3D 0; n < def->nredirdevs; n++) { if (virDomainRedirdevDefFormat(buf, def->redirdevs[n], flags) < 0) - goto error; + return -1; } =20 if (def->redirfilter) @@ -29965,7 +29965,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefP= tr def, =20 for (n =3D 0; n < def->nhubs; n++) { if (virDomainHubDefFormat(buf, def->hubs[n], flags) < 0) - goto error; + return -1; } =20 if (def->watchdog) @@ -29976,7 +29976,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefP= tr def, =20 for (n =3D 0; n < def->nrngs; n++) { if (virDomainRNGDefFormat(buf, def->rngs[n], flags)) - goto error; + return -1; } =20 if (def->nvram) @@ -29984,26 +29984,26 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, =20 for (n =3D 0; n < def->npanics; n++) { if (virDomainPanicDefFormat(buf, def->panics[n]) < 0) - goto error; + return -1; } =20 for (n =3D 0; n < def->nshmems; n++) { if (virDomainShmemDefFormat(buf, def->shmems[n], flags) < 0) - goto error; + return -1; } =20 for (n =3D 0; n < def->nmems; n++) { if (virDomainMemoryDefFormat(buf, def->mems[n], def, flags) < 0) - goto error; + return -1; } =20 if (def->iommu && virDomainIOMMUDefFormat(buf, def->iommu) < 0) - goto error; + return -1; =20 if (def->vsock && virDomainVsockDefFormat(buf, def->vsock) < 0) - goto error; + return -1; =20 virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "\n"); @@ -30018,17 +30018,13 @@ virDomainDefFormatInternalSetRootName(virDomainDe= fPtr def, =20 if (def->namespaceData && def->ns.format) { if ((def->ns.format)(buf, def->namespaceData) < 0) - goto error; + return -1; } =20 virBufferAdjustIndent(buf, -2); virBufferAsprintf(buf, "\n", rootname); =20 return 0; - - error: - virBufferFreeAndReset(buf); - return -1; } =20 /* Converts VIR_DOMAIN_XML_COMMON_FLAGS into VIR_DOMAIN_DEF_FORMAT_* @@ -30056,7 +30052,7 @@ virDomainDefFormat(virDomainDefPtr def, virDomainXMLOptionPtr xmlopt, unsigned int flags) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 virCheckFlags(VIR_DOMAIN_DEF_FORMAT_COMMON_FLAGS, NULL); if (virDomainDefFormatInternal(def, xmlopt, &buf, flags) < 0) --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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 (zohomail.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=1593056176; cv=none; d=zohomail.com; s=zohoarc; b=cRuTpvgyFFmHmjXEw5vpmZFM3+PCPN3uR/buO1QqmKTAOIlyJ3bGFrMlJr9Lxel1542rA2Wp7O+OH5eT2nvhFU1+rFuolYF2YVnJpB4zgctmLsQ1bkcmDyF80Nasubw4MpZaB45pON/NE+BkIMOvP+Dyenv6KulDfQ3GRNCB1YM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056176; 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=oHcXA7VkRcLXerVOQST7/83yOG5vKVuD17e14Iqvzkg=; b=TSKT6UaWp7AIrJNQSJVCDoaI7bgGvjRepPQ+5SDoU3qgK02ykM2bN0ZhT+C+vucv+qxBvqMB3saMIjax8ITRxRzw2c2dIoAY4wsY+1AmpMIdC6mFKhXSsE1XZpb5A7LyKtmVR/3OHbFEOezAwJJ66V1Czys9v07tBuvnl2myRLE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.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 1593056176671294.2629943074039; Wed, 24 Jun 2020 20:36:16 -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-175-IHdf-tXDNbKmORKn5PiHaQ-1; Wed, 24 Jun 2020 23:34:46 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CC4C618A076D; Thu, 25 Jun 2020 03:34:35 +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 AE4635D9D3; Thu, 25 Jun 2020 03:34:35 +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 7DBE7180CB27; Thu, 25 Jun 2020 03:34:35 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YP2h007821 for ; Wed, 24 Jun 2020 23:34:25 -0400 Received: by smtp.corp.redhat.com (Postfix) id 7457C5BAC0; Thu, 25 Jun 2020 03:34:25 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 314495BACC for ; Thu, 25 Jun 2020 03:34:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056175; 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=oHcXA7VkRcLXerVOQST7/83yOG5vKVuD17e14Iqvzkg=; b=gJMw8OQmDaM2D1FWTPwGeOgZVleso5p1cJRcaDKdZCmZNaxgqwd3oR4SncHOa8wL5BSOB5 b9eOVGXNNWifjwhRyp6idVKM0uATPLaBJn670gzNil3WP0zybdcW1pKBxVzSTOLERfPIhd 5wu8QbxfJ8uGphI4wV0pFBZMoOfy0q0= X-MC-Unique: IHdf-tXDNbKmORKn5PiHaQ-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 08/25] network: fix memory leak in networkBuildDhcpDaemonCommandLine() Date: Wed, 24 Jun 2020 23:33:57 -0400 Message-Id: <20200625033414.1819594-9-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" hostsfilestr was not being freed. This will be turned into g_autofree in an upcoming patch converting a lot more of the same file to using g_auto*, but I wanted to make a separate patch for this first so the other patch is simpler to review. Signed-off-by: Laine Stump Reviewed-by: J=C3=A1n Tomko --- src/network/bridge_driver.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 47d5d95678..aff1b7b1bc 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -1628,6 +1628,7 @@ networkBuildDhcpDaemonCommandLine(virNetworkDriverSta= tePtr driver, virObjectUnref(dnsmasq_caps); VIR_FREE(configfile); VIR_FREE(configstr); + VIR_FREE(hostsfilestr); VIR_FREE(leaseshelper_path); return ret; } --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1593056087; cv=none; d=zohomail.com; s=zohoarc; b=X1PCwWCC2dH1UMJIuVquNuaFwBgkvfND+xFiGj6mnzrFhd9ToxyuU/bLYFsS5wVOsbJiVb+BdlTT+QL6lwzYqj7oBmSNQch4aXGE8xZttxB1TK81Hpyx6YN3C83Dg00O4fUeXG0OGUyaaY/dgynqEtHHO/fb0eAssqIYWgZ2zLU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056087; 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=tG1p0BuSPa0LtlQCTfTkb3yOkRtXfpvIHYqgMA4XlW8=; b=SZHHGEnfW0AwF4YBkpxfPoSZpaWawkk94Z+huzbNILs6rBKLWGF9b0KJfV/DHVaDwStHEGUCuqBGHclPC5jB2Q42Rr5/+Ctdg4wrh0ngbexk94lQfCQZa4xKOlwZKOeTLA/UP+MtAnJJ/1l03f05HQTyVfgoEO/zShmBLJ9/zUo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1593056087752439.6504208260658; Wed, 24 Jun 2020 20:34:47 -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-137-2MFrPl9gNiS9tLg-BtwpVg-1; Wed, 24 Jun 2020 23:34:44 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 70D2A107ACF5; Thu, 25 Jun 2020 03:34:34 +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 561405C663; Thu, 25 Jun 2020 03:34:34 +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 241411806B0C; Thu, 25 Jun 2020 03:34:34 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YPSN007826 for ; Wed, 24 Jun 2020 23:34:25 -0400 Received: by smtp.corp.redhat.com (Postfix) id E2AE15BAE5; Thu, 25 Jun 2020 03:34:25 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9EF915BACC for ; Thu, 25 Jun 2020 03:34:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056086; 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=tG1p0BuSPa0LtlQCTfTkb3yOkRtXfpvIHYqgMA4XlW8=; b=LFUc6FpKtGnYrVyyil0ANpvLNPAOg5eVBp438vUJys5jobxgHeDC0u2oAyz46WJu7E4Kzy CJk1oexZoC72qO+75s6khvx6eIHvTBE1OUhbz7cTeGiZ1HRBARqOXREzxrHf/2t+CWkhcG jehqFa2hMdiLmCRhVQNv2TwlVA6MNgY= X-MC-Unique: 2MFrPl9gNiS9tLg-BtwpVg-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 09/25] util: add g_autoptr cleanup function for virFirewall objects Date: Wed, 24 Jun 2020 23:33:58 -0400 Message-Id: <20200625033414.1819594-10-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Put in a separate patch so that two future patches can be re-ordered / selectively backported independent of each other. Signed-off-by: Laine Stump --- src/util/virfirewall.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/util/virfirewall.h b/src/util/virfirewall.h index 6148f46827..ff690b36f0 100644 --- a/src/util/virfirewall.h +++ b/src/util/virfirewall.h @@ -40,6 +40,7 @@ virFirewallPtr virFirewallNew(void); =20 void virFirewallFree(virFirewallPtr firewall); =20 + /** * virFirewallAddRule: * @firewall: firewall ruleset to add to --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 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=1593056248; cv=none; d=zohomail.com; s=zohoarc; b=eP2OtLMFCnNxfl03DwZyFAbl5FnwoR77wJoF1i7FrNmgOqh30K9W8YxM6OYagHW+oaKgC2hNRMHTEguo2ZXG4RYU/Jiz4tpFCR6Lhj6tyIJL4LlZUY/MiST9tj/35W9UM2B5Bbh7nL1yry4Sd4Acn0vzJuJzst76wuuI1CCHxXU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056248; 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=eRJDBMU7k/YFZNGk1QQeCcUVxIbgpIkDTJZ09ekTCrU=; b=LKOHFjpBRR28BXoAJ1HqvwwKYQwP/FuOGm3Kzy6VIR5J7HVizoRxWEecNt8CSHtXhj2KqsIfLMWPX7x0UfNXQ0uLfVOPRYXUTPawajay3c7QqXyZN4MujSpLzDydxHvxbmNRWw3/1h+dDWydvrJiV8T/Otm8eoMImiqC6LZCiYY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 1593056248420794.4681410590316; Wed, 24 Jun 2020 20:37:28 -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-190-suMaNaD-Npimn1W8me7VkA-1; Wed, 24 Jun 2020 23:34:45 -0400 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 BF7E718A0768; Thu, 25 Jun 2020 03:34:36 +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 9A4591011396; Thu, 25 Jun 2020 03:34:36 +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 6C65E87589; Thu, 25 Jun 2020 03:34:36 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YQfh007833 for ; Wed, 24 Jun 2020 23:34:26 -0400 Received: by smtp.corp.redhat.com (Postfix) id 8AF075BACC; Thu, 25 Jun 2020 03:34:26 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1CA7A7FD07 for ; Thu, 25 Jun 2020 03:34:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056247; 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=eRJDBMU7k/YFZNGk1QQeCcUVxIbgpIkDTJZ09ekTCrU=; b=B4MGLj0AqkgReXAic7XGgV4nKDkBDUNq+n1xgJg2Q0pcn6Pa3wbJpctky//iEKuldCSjlP q5c/9nNXwZclgMoCoARjSYl9Kb6KHBvPH1DB+lD7Wn8ZOFyZdXXfi8+z/Fv7uqY95SBTYW xZLE9MS6iY0sChzvJ698OilOt3OOmlQ= X-MC-Unique: suMaNaD-Npimn1W8me7VkA-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 10/25] network: convert local pointers to g_auto* Date: Wed, 24 Jun 2020 23:33:59 -0400 Message-Id: <20200625033414.1819594-11-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" This includes those that use plain VIR_FREE() as well as those that have a cleanup function defined for use via g_auto/g_autoptr (virCommand, virFirewall, virBuffer, virJSONValue etc). Signed-off-by: Laine Stump --- src/network/bridge_driver.c | 477 +++++++++++------------------- src/network/bridge_driver_linux.c | 55 ++-- src/network/leaseshelper.c | 16 +- src/util/virdnsmasq.h | 4 + 4 files changed, 209 insertions(+), 343 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index aff1b7b1bc..668aa9ca88 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -322,25 +322,23 @@ networkRunHook(virNetworkObjPtr obj, int sub_op) { virNetworkDefPtr def; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; - char *xml =3D NULL; + g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; + g_autofree char *xml =3D NULL; int hookret; - int ret =3D -1; =20 if (virHookPresent(VIR_HOOK_DRIVER_NETWORK)) { if (!obj) { VIR_DEBUG("Not running hook as @obj is NULL"); - ret =3D 0; - goto cleanup; + return 0; } def =3D virNetworkObjGetDef(obj); =20 virBufferAddLit(&buf, "\n"); virBufferAdjustIndent(&buf, 2); if (virNetworkDefFormatBuf(&buf, def, network_driver->xmlopt, 0) <= 0) - goto cleanup; + return -1; if (port && virNetworkPortDefFormatBuf(&buf, port) < 0) - goto cleanup; + return -1; =20 virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, ""); @@ -353,16 +351,12 @@ networkRunHook(virNetworkObjPtr obj, * If the script raised an error, pass it to the callee. */ if (hookret < 0) - goto cleanup; + return -1; =20 networkNetworkObjTaint(obj, VIR_NETWORK_TAINT_HOOK); } =20 - ret =3D 0; - cleanup: - virBufferFreeAndReset(&buf); - VIR_FREE(xml); - return ret; + return 0; } =20 =20 @@ -426,44 +420,42 @@ static int networkRemoveInactive(virNetworkDriverStatePtr driver, virNetworkObjPtr obj) { - char *leasefile =3D NULL; - char *customleasefile =3D NULL; - char *radvdconfigfile =3D NULL; - char *configfile =3D NULL; - char *radvdpidbase =3D NULL; - char *statusfile =3D NULL; - char *macMapFile =3D NULL; - dnsmasqContext *dctx =3D NULL; + g_autofree char *leasefile =3D NULL; + g_autofree char *customleasefile =3D NULL; + g_autofree char *radvdconfigfile =3D NULL; + g_autofree char *configfile =3D NULL; + g_autofree char *radvdpidbase =3D NULL; + g_autofree char *statusfile =3D NULL; + g_autofree char *macMapFile =3D NULL; + g_autoptr(dnsmasqContext) dctx =3D NULL; virNetworkDefPtr def =3D virNetworkObjGetPersistentDef(obj); =20 - int ret =3D -1; - /* remove the (possibly) existing dnsmasq and radvd files */ if (!(dctx =3D dnsmasqContextNew(def->name, driver->dnsmasqStateDir))) { - goto cleanup; + return -1; } =20 if (!(leasefile =3D networkDnsmasqLeaseFileNameDefault(driver, def->na= me))) - goto cleanup; + return -1; =20 if (!(customleasefile =3D networkDnsmasqLeaseFileNameCustom(driver, de= f->bridge))) - goto cleanup; + return -1; =20 if (!(radvdconfigfile =3D networkRadvdConfigFileName(driver, def->name= ))) - goto cleanup; + return -1; =20 if (!(radvdpidbase =3D networkRadvdPidfileBasename(def->name))) - goto cleanup; + return -1; =20 if (!(configfile =3D networkDnsmasqConfigFileName(driver, def->name))) - goto cleanup; + return -1; =20 if (!(statusfile =3D virNetworkConfigFile(driver->stateDir, def->name)= )) - goto cleanup; + return -1; =20 if (!(macMapFile =3D virMacMapFileName(driver->dnsmasqStateDir, def->b= ridge))) - goto cleanup; + return -1; =20 /* dnsmasq */ dnsmasqDelete(dctx); @@ -484,18 +476,7 @@ networkRemoveInactive(virNetworkDriverStatePtr driver, /* remove the network definition */ virNetworkObjRemoveInactive(driver->networks, obj); =20 - ret =3D 0; - - cleanup: - VIR_FREE(leasefile); - VIR_FREE(configfile); - VIR_FREE(customleasefile); - VIR_FREE(radvdconfigfile); - VIR_FREE(radvdpidbase); - VIR_FREE(statusfile); - VIR_FREE(macMapFile); - dnsmasqContextFree(dctx); - return ret; + return 0; } =20 =20 @@ -545,9 +526,9 @@ networkUpdateState(virNetworkObjPtr obj, { virNetworkDefPtr def; virNetworkDriverStatePtr driver =3D opaque; - dnsmasqCapsPtr dnsmasq_caps =3D networkGetDnsmasqCaps(driver); + g_autoptr(dnsmasqCaps) dnsmasq_caps =3D networkGetDnsmasqCaps(driver); virMacMapPtr macmap; - char *macMapFile =3D NULL; + g_autofree char *macMapFile =3D NULL; int ret =3D -1; =20 virObjectLock(obj); @@ -609,7 +590,7 @@ networkUpdateState(virNetworkObjPtr obj, if (virNetworkObjIsActive(obj) && def->ips && (def->nips > 0)) { pid_t radvdPid; pid_t dnsmasqPid; - char *radvdpidbase; + g_autofree char *radvdpidbase =3D NULL; =20 ignore_value(virPidFileReadIfAlive(driver->pidDir, def->name, @@ -625,14 +606,11 @@ networkUpdateState(virNetworkObjPtr obj, radvdpidbase, &radvdPid, RADVD)); virNetworkObjSetRadvdPid(obj, radvdPid); - VIR_FREE(radvdpidbase); } =20 ret =3D 0; cleanup: virObjectUnlock(obj); - virObjectUnref(dnsmasq_caps); - VIR_FREE(macMapFile); return ret; } =20 @@ -710,9 +688,8 @@ networkStateInitialize(bool privileged, virStateInhibitCallback callback G_GNUC_UNUSED, void *opaque G_GNUC_UNUSED) { - int ret =3D VIR_DRV_STATE_INIT_ERROR; - char *configdir =3D NULL; - char *rundir =3D NULL; + g_autofree char *configdir =3D NULL; + g_autofree char *rundir =3D NULL; bool autostart =3D true; #ifdef WITH_FIREWALLD DBusConnection *sysbus =3D NULL; @@ -839,15 +816,12 @@ networkStateInitialize(bool privileged, } #endif =20 - ret =3D VIR_DRV_STATE_INIT_COMPLETE; - cleanup: - VIR_FREE(configdir); - VIR_FREE(rundir); - return ret; + return VIR_DRV_STATE_INIT_COMPLETE; + =20 error: networkStateCleanup(); - goto cleanup; + return VIR_DRV_STATE_INIT_ERROR; } =20 =20 @@ -1043,10 +1017,11 @@ networkDnsmasqConfLocalPTRs(virBufferPtr buf, { virNetworkIPDefPtr ip; size_t i; - char *ptr =3D NULL; int rc; =20 for (i =3D 0; i < def->nips; i++) { + g_autofree char *ptr =3D NULL; + ip =3D def->ips + i; =20 if (ip->localPTR !=3D VIR_TRISTATE_BOOL_YES) @@ -1067,7 +1042,6 @@ networkDnsmasqConfLocalPTRs(virBufferPtr buf, } =20 virBufferAsprintf(buf, "local=3D/%s/\n", ptr); - VIR_FREE(ptr); } =20 return 0; @@ -1083,15 +1057,14 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, dnsmasqCapsPtr caps G_GNUC_UNUSED) { virNetworkDefPtr def =3D virNetworkObjGetDef(obj); - virBuffer configbuf =3D VIR_BUFFER_INITIALIZER; - int r, ret =3D -1; + g_auto(virBuffer) configbuf =3D VIR_BUFFER_INITIALIZER; + int r; int nbleases =3D 0; size_t i; virNetworkDNSDefPtr dns =3D &def->dns; bool wantDNS =3D dns->enable !=3D VIR_TRISTATE_BOOL_NO; virNetworkIPDefPtr tmpipdef, ipdef, ipv4def, ipv6def; bool ipv6SLAAC; - char *saddr =3D NULL, *eaddr =3D NULL; =20 *configstr =3D NULL; =20 @@ -1146,12 +1119,11 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, if (fwd->domain) virBufferAsprintf(&configbuf, "/%s/", fwd->domain); if (VIR_SOCKET_ADDR_VALID(&fwd->addr)) { - char *addr =3D virSocketAddrFormat(&fwd->addr); + g_autofree char *addr =3D virSocketAddrFormat(&fwd->addr); =20 if (!addr) - goto cleanup; + return -1; virBufferAsprintf(&configbuf, "%s\n", addr); - VIR_FREE(addr); if (!fwd->domain) addNoResolv =3D true; } else { @@ -1177,7 +1149,7 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, =20 if (wantDNS && networkDnsmasqConfLocalPTRs(&configbuf, def) < 0) - goto cleanup; + return -1; =20 if (wantDNS && def->dns.forwardPlainNames =3D=3D VIR_TRISTATE_BOOL_NO)= { virBufferAddLit(&configbuf, "domain-needed\n"); @@ -1224,10 +1196,10 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, for (i =3D 0; (tmpipdef =3D virNetworkDefGetIPByIndex(def, AF_UNSPEC, i)); i++) { - char *ipaddr =3D virSocketAddrFormat(&tmpipdef->address); + g_autofree char *ipaddr =3D virSocketAddrFormat(&tmpipdef->add= ress); =20 if (!ipaddr) - goto cleanup; + return -1; =20 /* also part of CVE 2012-3411 - if the host's version of * dnsmasq doesn't have bind-dynamic, only allow listening on @@ -1250,11 +1222,9 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, "(as described in RFC1918/RFC3484/RFC4193= )."), ipaddr, (int)version / 1000000, (int)(version % 1000000) / 1000); - VIR_FREE(ipaddr); - goto cleanup; + return -1; } virBufferAsprintf(&configbuf, "listen-address=3D%s\n", ipaddr); - VIR_FREE(ipaddr); } } =20 @@ -1293,14 +1263,14 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, _("Missing required 'service' " "attribute in SRV record of network '%s'"= ), def->name); - goto cleanup; + return -1; } if (!dns->srvs[i].protocol) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Missing required 'service' " "attribute in SRV record of network '%s'"= ), def->name); - goto cleanup; + return -1; } /* RFC2782 requires that service and protocol be preceded by * an underscore. @@ -1349,7 +1319,7 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("For IPv4, multiple DHCP definitions " "cannot be specified.")); - goto cleanup; + return -1; } else { ipv4def =3D ipdef; } @@ -1369,13 +1339,13 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, (int)(version % 1000000) / 1000, DNSMASQ_DHCPv6_MAJOR_REQD, DNSMASQ_DHCPv6_MINOR_REQD); - goto cleanup; + return -1; } if (ipv6def) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("For IPv6, multiple DHCP definitions " "cannot be specified.")); - goto cleanup; + return -1; } else { ipv6def =3D ipdef; } @@ -1404,16 +1374,18 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, virReportError(VIR_ERR_INTERNAL_ERROR, _("bridge '%s' has an invalid prefix"), def->bridge); - goto cleanup; + return -1; } for (r =3D 0; r < ipdef->nranges; r++) { int thisRange; virNetworkDHCPRangeDef range =3D ipdef->ranges[r]; g_autofree char *leasetime =3D NULL; + g_autofree char *saddr =3D NULL; + g_autofree char *eaddr =3D NULL; =20 if (!(saddr =3D virSocketAddrFormat(&range.addr.start)) || !(eaddr =3D virSocketAddrFormat(&range.addr.end))) - goto cleanup; + return -1; =20 if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET6)) { virBufferAsprintf(&configbuf, "dhcp-range=3D%s,%s,%d", @@ -1428,11 +1400,11 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, _("Failed to translate bridge '%s' " "prefix %d to netmask"), def->bridge, prefix); - goto cleanup; + return -1; } =20 if (!(netmaskStr =3D virSocketAddrFormat(&netmask))) - goto cleanup; + return -1; virBufferAsprintf(&configbuf, "dhcp-range=3D%s,%s,%s", saddr, eaddr, netmaskStr); } @@ -1442,14 +1414,12 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, =20 virBufferAddLit(&configbuf, "\n"); =20 - VIR_FREE(saddr); - VIR_FREE(eaddr); thisRange =3D virSocketAddrGetRange(&range.addr.start, &range.addr.end, &ipdef->address, virNetworkIPDefPrefix(ipdef)= ); if (thisRange < 0) - goto cleanup; + return -1; nbleases +=3D thisRange; } =20 @@ -1460,19 +1430,18 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, * support) */ if (!ipdef->nranges && ipdef->nhosts) { - char *bridgeaddr =3D virSocketAddrFormat(&ipdef->address); + g_autofree char *bridgeaddr =3D virSocketAddrFormat(&ipdef->ad= dress); if (!bridgeaddr) - goto cleanup; + return -1; virBufferAsprintf(&configbuf, "dhcp-range=3D%s,static", bridgeaddr); if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET6)) virBufferAsprintf(&configbuf, ",%d", prefix); virBufferAddLit(&configbuf, "\n"); - VIR_FREE(bridgeaddr); } =20 if (networkBuildDnsmasqDhcpHostsList(dctx, ipdef) < 0) - goto cleanup; + return -1; =20 /* Note: the following is IPv4 only */ if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) { @@ -1488,13 +1457,12 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, =20 if (ipdef->bootfile) { if (VIR_SOCKET_ADDR_VALID(&ipdef->bootserver)) { - char *bootserver =3D virSocketAddrFormat(&ipdef->boots= erver); + g_autofree char *bootserver =3D virSocketAddrFormat(&i= pdef->bootserver); =20 if (!bootserver) - goto cleanup; + return -1; virBufferAsprintf(&configbuf, "dhcp-boot=3D%s%s%s\n", ipdef->bootfile, ",,", bootserver); - VIR_FREE(bootserver); } else { virBufferAsprintf(&configbuf, "dhcp-boot=3D%s\n", ipde= f->bootfile); } @@ -1508,7 +1476,7 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, =20 /* this is done once per interface */ if (networkBuildDnsmasqHostsList(dctx, dns) < 0) - goto cleanup; + return -1; =20 /* Even if there are currently no static hosts, if we're * listening for DHCP, we should write a 0-length hosts @@ -1539,12 +1507,11 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, (ipdef =3D virNetworkDefGetIPByIndex(def, AF_INET6, i)); i++) { if (!(ipdef->nranges || ipdef->nhosts)) { - char *bridgeaddr =3D virSocketAddrFormat(&ipdef->addre= ss); + g_autofree char *bridgeaddr =3D virSocketAddrFormat(&i= pdef->address); if (!bridgeaddr) - goto cleanup; + return -1; virBufferAsprintf(&configbuf, "dhcp-range=3D%s,ra-only\n", bridgea= ddr); - VIR_FREE(bridgeaddr); } } } @@ -1557,18 +1524,12 @@ networkDnsmasqConfContents(virNetworkObjPtr obj, } =20 if (!(*configstr =3D virBufferContentAndReset(&configbuf))) - goto cleanup; + return -1; =20 *hostsfilestr =3D dnsmasqDhcpHostsToString(dctx->hostsfile->hosts, dctx->hostsfile->nhosts); =20 - ret =3D 0; - - cleanup: - VIR_FREE(saddr); - VIR_FREE(eaddr); - virBufferFreeAndReset(&configbuf); - return ret; + return 0; } =20 =20 @@ -1581,39 +1542,38 @@ networkBuildDhcpDaemonCommandLine(virNetworkDriverS= tatePtr driver, dnsmasqContext *dctx) { virNetworkDefPtr def =3D virNetworkObjGetDef(obj); - dnsmasqCapsPtr dnsmasq_caps =3D networkGetDnsmasqCaps(driver); - virCommandPtr cmd =3D NULL; - int ret =3D -1; - char *configfile =3D NULL; - char *configstr =3D NULL; - char *hostsfilestr =3D NULL; - char *leaseshelper_path =3D NULL; + g_autoptr(dnsmasqCaps) dnsmasq_caps =3D networkGetDnsmasqCaps(driver); + g_autoptr(virCommand) cmd =3D NULL; + g_autofree char *configfile =3D NULL; + g_autofree char *configstr =3D NULL; + g_autofree char *hostsfilestr =3D NULL; + g_autofree char *leaseshelper_path =3D NULL; =20 virNetworkObjSetDnsmasqPid(obj, -1); =20 if (networkDnsmasqConfContents(obj, pidfile, &configstr, &hostsfilestr, dctx, dnsmasq_caps) < 0) - goto cleanup; + return -1; if (!configstr) - goto cleanup; + return -1; =20 /* construct the filename */ if (!(configfile =3D networkDnsmasqConfigFileName(driver, def->name))) - goto cleanup; + return -1; =20 /* Write the file */ if (virFileWriteStr(configfile, configstr, 0600) < 0) { virReportSystemError(errno, _("couldn't write dnsmasq config file '%s'"), configfile); - goto cleanup; + return -1; } =20 /* This helper is used to create custom leases file for libvirt */ if (!(leaseshelper_path =3D virFileFindResource("libvirt_leaseshelper", abs_top_builddir "/src", LIBEXECDIR))) - goto cleanup; + return -1; =20 cmd =3D virCommandNew(dnsmasqCapsGetBinaryPath(dnsmasq_caps)); virCommandAddArgFormat(cmd, "--conf-file=3D%s", configfile); @@ -1622,15 +1582,8 @@ networkBuildDhcpDaemonCommandLine(virNetworkDriverSt= atePtr driver, virCommandAddArgFormat(cmd, "--dhcp-script=3D%s", leaseshelper_path); virCommandAddEnvPair(cmd, "VIR_BRIDGE_NAME", def->bridge); =20 - *cmdout =3D cmd; - ret =3D 0; - cleanup: - virObjectUnref(dnsmasq_caps); - VIR_FREE(configfile); - VIR_FREE(configstr); - VIR_FREE(hostsfilestr); - VIR_FREE(leaseshelper_path); - return ret; + *cmdout =3D g_steal_pointer(&cmd); + return 0; } =20 =20 @@ -1642,11 +1595,10 @@ networkStartDhcpDaemon(virNetworkDriverStatePtr dri= ver, virNetworkIPDefPtr ipdef; size_t i; bool needDnsmasq =3D false; - virCommandPtr cmd =3D NULL; - char *pidfile =3D NULL; + g_autoptr(virCommand) cmd =3D NULL; + g_autofree char *pidfile =3D NULL; pid_t dnsmasqPid; - int ret =3D -1; - dnsmasqContext *dctx =3D NULL; + g_autoptr(dnsmasqContext) dctx =3D NULL; =20 /* see if there are any IP addresses that need a dhcp server */ i =3D 0; @@ -1656,53 +1608,46 @@ networkStartDhcpDaemon(virNetworkDriverStatePtr dri= ver, needDnsmasq =3D true; } =20 - if (i =3D=3D 0) { - /* no IP addresses at all, so we don't need to run */ - ret =3D 0; - goto cleanup; - } + /* no IP addresses at all, so we don't need to run */ + if (i =3D=3D 0) + return 0; =20 - if (!needDnsmasq && def->dns.enable =3D=3D VIR_TRISTATE_BOOL_NO) { - /* no DHCP services needed, and user disabled DNS service */ - ret =3D 0; - goto cleanup; - } + /* no DHCP services needed, and user disabled DNS service */ + if (!needDnsmasq && def->dns.enable =3D=3D VIR_TRISTATE_BOOL_NO) + return 0; =20 if (virFileMakePath(driver->pidDir) < 0) { virReportSystemError(errno, _("cannot create directory %s"), driver->pidDir); - goto cleanup; + return -1; } =20 if (!(pidfile =3D virPidFileBuildPath(driver->pidDir, def->name))) - goto cleanup; + return -1; =20 if (virFileMakePath(driver->dnsmasqStateDir) < 0) { virReportSystemError(errno, _("cannot create directory %s"), driver->dnsmasqStateDir); - goto cleanup; + return -1; } =20 dctx =3D dnsmasqContextNew(def->name, driver->dnsmasqStateDir); if (dctx =3D=3D NULL) - goto cleanup; + return -1; =20 if (networkDnsmasqCapsRefresh(driver) < 0) - goto cleanup; + return -1; =20 - ret =3D networkBuildDhcpDaemonCommandLine(driver, obj, &cmd, pidfile, = dctx); - if (ret < 0) - goto cleanup; + if (networkBuildDhcpDaemonCommandLine(driver, obj, &cmd, pidfile, dctx= ) < 0) + return -1; =20 - ret =3D dnsmasqSave(dctx); - if (ret < 0) - goto cleanup; + if (dnsmasqSave(dctx) < 0) + return -1; =20 - ret =3D virCommandRun(cmd, NULL); - if (ret < 0) - goto cleanup; + if (virCommandRun(cmd, NULL) < 0) + return -1; =20 /* * There really is no race here - when dnsmasq daemonizes, its @@ -1712,17 +1657,12 @@ networkStartDhcpDaemon(virNetworkDriverStatePtr dri= ver, * pid */ =20 - ret =3D virPidFileRead(driver->pidDir, def->name, &dnsmasqPid); - if (ret < 0) - goto cleanup; + if (virPidFileRead(driver->pidDir, def->name, &dnsmasqPid) < 0) + return -1; + virNetworkObjSetDnsmasqPid(obj, dnsmasqPid); =20 - ret =3D 0; - cleanup: - VIR_FREE(pidfile); - virCommandFree(cmd); - dnsmasqContextFree(dctx); - return ret; + return 0; } =20 =20 @@ -1738,11 +1678,10 @@ networkRefreshDhcpDaemon(virNetworkDriverStatePtr d= river, virNetworkObjPtr obj) { virNetworkDefPtr def =3D virNetworkObjGetDef(obj); - int ret =3D -1; size_t i; pid_t dnsmasqPid; virNetworkIPDefPtr ipdef, ipv4def, ipv6def; - dnsmasqContext *dctx =3D NULL; + g_autoptr(dnsmasqContext) dctx =3D NULL; =20 /* if no IP addresses specified, nothing to do */ if (!virNetworkDefGetIPByIndex(def, AF_UNSPEC, 0)) @@ -1754,10 +1693,8 @@ networkRefreshDhcpDaemon(virNetworkDriverStatePtr dr= iver, return networkStartDhcpDaemon(driver, obj); =20 VIR_INFO("Refreshing dnsmasq for network %s", def->bridge); - if (!(dctx =3D dnsmasqContextNew(def->name, - driver->dnsmasqStateDir))) { - goto cleanup; - } + if (!(dctx =3D dnsmasqContextNew(def->name, driver->dnsmasqStateDir))) + return -1; =20 /* Look for first IPv4 address that has dhcp defined. * We only support dhcp-host config on one IPv4 subnetwork @@ -1780,22 +1717,20 @@ networkRefreshDhcpDaemon(virNetworkDriverStatePtr d= river, } =20 if (ipv4def && (networkBuildDnsmasqDhcpHostsList(dctx, ipv4def) < 0)) - goto cleanup; + return -1; =20 if (ipv6def && (networkBuildDnsmasqDhcpHostsList(dctx, ipv6def) < 0)) - goto cleanup; + return -1; =20 if (networkBuildDnsmasqHostsList(dctx, &def->dns) < 0) - goto cleanup; + return -1; =20 - if ((ret =3D dnsmasqSave(dctx)) < 0) - goto cleanup; + if (dnsmasqSave(dctx) < 0) + return -1; =20 dnsmasqPid =3D virNetworkObjGetDnsmasqPid(obj); - ret =3D kill(dnsmasqPid, SIGHUP); - cleanup: - dnsmasqContextFree(dctx); - return ret; + return kill(dnsmasqPid, SIGHUP); + } =20 =20 @@ -1833,8 +1768,7 @@ networkRadvdConfContents(virNetworkObjPtr obj, char **configstr) { virNetworkDefPtr def =3D virNetworkObjGetDef(obj); - virBuffer configbuf =3D VIR_BUFFER_INITIALIZER; - int ret =3D -1; + g_auto(virBuffer) configbuf =3D VIR_BUFFER_INITIALIZER; size_t i; virNetworkIPDefPtr ipdef; bool v6present =3D false, dhcp6 =3D false; @@ -1851,10 +1785,8 @@ networkRadvdConfContents(virNetworkObjPtr obj, } =20 /* If there are no IPv6 addresses, then we are done */ - if (!v6present) { - ret =3D 0; - goto cleanup; - } + if (!v6present) + return 0; =20 /* create radvd config file appropriate for this network; * IgnoreIfMissing allows radvd to start even when the bridge is down @@ -1872,33 +1804,29 @@ networkRadvdConfContents(virNetworkObjPtr obj, /* add a section for each IPv6 address in the config */ for (i =3D 0; (ipdef =3D virNetworkDefGetIPByIndex(def, AF_INET6, i));= i++) { int prefix; - char *netaddr; + g_autofree char *netaddr =3D NULL; =20 prefix =3D virNetworkIPDefPrefix(ipdef); if (prefix < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("bridge '%s' has an invalid prefix"), def->bridge); - goto cleanup; + return -1; } if (!(netaddr =3D virSocketAddrFormat(&ipdef->address))) - goto cleanup; + return -1; + virBufferAsprintf(&configbuf, " prefix %s/%d\n" " {\n%s };\n", netaddr, prefix, dhcp6 ? radvd2 : radvd3); - VIR_FREE(netaddr); } =20 virBufferAddLit(&configbuf, "};\n"); - *configstr =3D virBufferContentAndReset(&configbuf); + return 0; =20 - ret =3D 0; - cleanup: - virBufferFreeAndReset(&configbuf); - return ret; } =20 =20 @@ -1909,9 +1837,8 @@ networkRadvdConfWrite(virNetworkDriverStatePtr driver, char **configFile) { virNetworkDefPtr def =3D virNetworkObjGetDef(obj); - int ret =3D -1; - char *configStr =3D NULL; - char *myConfigFile =3D NULL; + g_autofree char *configStr =3D NULL; + g_autofree char *myConfigFile =3D NULL; =20 if (!configFile) configFile =3D &myConfigFile; @@ -1919,29 +1846,24 @@ networkRadvdConfWrite(virNetworkDriverStatePtr driv= er, *configFile =3D NULL; =20 if (networkRadvdConfContents(obj, &configStr) < 0) - goto cleanup; + return -1; =20 - if (!configStr) { - ret =3D 0; - goto cleanup; - } + if (!configStr) + return 0; =20 /* construct the filename */ if (!(*configFile =3D networkRadvdConfigFileName(driver, def->name))) - goto cleanup; + return -1; + /* write the file */ if (virFileWriteStr(*configFile, configStr, 0600) < 0) { virReportSystemError(errno, _("couldn't write radvd config file '%s'"), *configFile); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - VIR_FREE(configStr); - VIR_FREE(myConfigFile); - return ret; + return 0; } =20 =20 @@ -1950,26 +1872,22 @@ networkStartRadvd(virNetworkDriverStatePtr driver, virNetworkObjPtr obj) { virNetworkDefPtr def =3D virNetworkObjGetDef(obj); - dnsmasqCapsPtr dnsmasq_caps =3D networkGetDnsmasqCaps(driver); + g_autoptr(dnsmasqCaps) dnsmasq_caps =3D networkGetDnsmasqCaps(driver); pid_t radvdPid; - char *pidfile =3D NULL; - char *radvdpidbase =3D NULL; - char *configfile =3D NULL; - virCommandPtr cmd =3D NULL; - int ret =3D -1; + g_autofree char *pidfile =3D NULL; + g_autofree char *radvdpidbase =3D NULL; + g_autofree char *configfile =3D NULL; + g_autoptr(virCommand) cmd =3D NULL; =20 virNetworkObjSetRadvdPid(obj, -1); =20 /* Is dnsmasq handling RA? */ - if (DNSMASQ_RA_SUPPORT(dnsmasq_caps)) { - ret =3D 0; - goto cleanup; - } + if (DNSMASQ_RA_SUPPORT(dnsmasq_caps)) + return 0; =20 if (!virNetworkDefGetIPByIndex(def, AF_INET6, 0)) { /* no IPv6 addresses, so we don't need to run radvd */ - ret =3D 0; - goto cleanup; + return 0; } =20 if (!virFileIsExecutable(RADVD)) { @@ -1977,30 +1895,32 @@ networkStartRadvd(virNetworkDriverStatePtr driver, _("Cannot find %s - " "Possibly the package isn't installed"), RADVD); - goto cleanup; + return -1; } =20 if (virFileMakePath(driver->pidDir) < 0) { virReportSystemError(errno, _("cannot create directory %s"), driver->pidDir); - goto cleanup; + return -1; } + if (virFileMakePath(driver->radvdStateDir) < 0) { virReportSystemError(errno, _("cannot create directory %s"), driver->radvdStateDir); - goto cleanup; + return -1; } =20 /* construct pidfile name */ if (!(radvdpidbase =3D networkRadvdPidfileBasename(def->name))) - goto cleanup; + return -1; + if (!(pidfile =3D virPidFileBuildPath(driver->pidDir, radvdpidbase))) - goto cleanup; + return -1; =20 if (networkRadvdConfWrite(driver, obj, &configfile) < 0) - goto cleanup; + return -1; =20 /* prevent radvd from daemonizing itself with "--debug 1", and use * a dummy pidfile name - virCommand will create the pidfile we @@ -2020,20 +1940,13 @@ networkStartRadvd(virNetworkDriverStatePtr driver, virCommandDaemonize(cmd); =20 if (virCommandRun(cmd, NULL) < 0) - goto cleanup; + return -1; =20 if (virPidFileRead(driver->pidDir, radvdpidbase, &radvdPid) < 0) - goto cleanup; - virNetworkObjSetRadvdPid(obj, radvdPid); + return -1; =20 - ret =3D 0; - cleanup: - virObjectUnref(dnsmasq_caps); - virCommandFree(cmd); - VIR_FREE(configfile); - VIR_FREE(radvdpidbase); - VIR_FREE(pidfile); - return ret; + virNetworkObjSetRadvdPid(obj, radvdPid); + return 0; } =20 =20 @@ -2042,14 +1955,13 @@ networkRefreshRadvd(virNetworkDriverStatePtr driver, virNetworkObjPtr obj) { virNetworkDefPtr def =3D virNetworkObjGetDef(obj); - dnsmasqCapsPtr dnsmasq_caps =3D networkGetDnsmasqCaps(driver); + g_autoptr(dnsmasqCaps) dnsmasq_caps =3D networkGetDnsmasqCaps(driver); g_autofree char *radvdpidbase =3D NULL; g_autofree char *pidfile =3D NULL; pid_t radvdPid; =20 /* Is dnsmasq handling RA? */ if (DNSMASQ_RA_SUPPORT(dnsmasq_caps)) { - virObjectUnref(dnsmasq_caps); if ((radvdpidbase =3D networkRadvdPidfileBasename(def->name)) && (pidfile =3D virPidFileBuildPath(driver->pidDir, radvdpidbase)= )) { /* radvd should not be running but in case it is */ @@ -2058,7 +1970,6 @@ networkRefreshRadvd(virNetworkDriverStatePtr driver, } return 0; } - virObjectUnref(dnsmasq_caps); =20 /* if there's no running radvd, just start it */ radvdPid =3D virNetworkObjGetRadvdPid(obj); @@ -2250,8 +2161,7 @@ static int networkSetIPv6Sysctls(virNetworkObjPtr obj) { virNetworkDefPtr def =3D virNetworkObjGetDef(obj); - char *field =3D NULL; - int ret =3D -1; + g_autofree char *field =3D NULL; bool enableIPv6 =3D !!virNetworkDefGetIPByIndex(def, AF_INET6, 0); =20 /* set disable_ipv6 if there are no ipv6 addresses defined for the @@ -2265,17 +2175,15 @@ networkSetIPv6Sysctls(virNetworkObjPtr obj) if (!enableIPv6) VIR_DEBUG("ipv6 appears to already be disabled on %s", def->bridge); - ret =3D 0; - goto cleanup; + return 0; } =20 if (virFileWriteStr(field, enableIPv6 ? "0" : "1", 0) < 0) { virReportSystemError(errno, _("cannot write to %s to enable/disable IPv6 " "on bridge %s"), field, def->bridge); - goto cleanup; + return -1; } - VIR_FREE(field); =20 /* The rest of the ipv6 sysctl tunables should always be set the * same, whether or not we're using ipv6 on this bridge. @@ -2284,31 +2192,29 @@ networkSetIPv6Sysctls(virNetworkObjPtr obj) /* Prevent guests from hijacking the host network by sending out * their own router advertisements. */ + VIR_FREE(field); field =3D g_strdup_printf(SYSCTL_PATH "/net/ipv6/conf/%s/accept_ra", def->bridge); =20 if (virFileWriteStr(field, "0", 0) < 0) { virReportSystemError(errno, _("cannot disable %s"), field); - goto cleanup; + return -1; } - VIR_FREE(field); =20 /* All interfaces used as a gateway (which is what this is, by * definition), must always have autoconf=3D0. */ + VIR_FREE(field); field =3D g_strdup_printf(SYSCTL_PATH "/net/ipv6/conf/%s/autoconf", de= f->bridge); =20 if (virFileWriteStr(field, "0", 0) < 0) { virReportSystemError(errno, _("cannot disable %s"), field); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - VIR_FREE(field); - return ret; + return 0; } =20 =20 @@ -2386,7 +2292,8 @@ networkWaitDadFinish(virNetworkObjPtr obj) { virNetworkDefPtr def =3D virNetworkObjGetDef(obj); virNetworkIPDefPtr ipdef; - virSocketAddrPtr *addrs =3D NULL, addr =3D NULL; + g_autofree virSocketAddrPtr *addrs =3D NULL; + virSocketAddrPtr addr =3D NULL; size_t naddrs =3D 0; int ret =3D -1; =20 @@ -2401,7 +2308,6 @@ networkWaitDadFinish(virNetworkObjPtr obj) ret =3D (naddrs =3D=3D 0) ? 0 : virNetDevIPWaitDadFinish(addrs, naddrs= ); =20 cleanup: - VIR_FREE(addrs); VIR_DEBUG("Finished waiting for IPv6 DAD on network %s with status %d", def->name, ret); return ret; @@ -2418,9 +2324,9 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr d= river, virErrorPtr save_err =3D NULL; virNetworkIPDefPtr ipdef; virNetDevIPRoutePtr routedef; - char *macTapIfName =3D NULL; + g_autofree char *macTapIfName =3D NULL; virMacMapPtr macmap; - char *macMapFile =3D NULL; + g_autofree char *macMapFile =3D NULL; int tapfd =3D -1; bool dnsmasqStarted =3D false; bool devOnline =3D false; @@ -2467,7 +2373,6 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr d= river, VIR_NETDEV_TAP_CREATE_USE_MAC_F= OR_BRIDGE | VIR_NETDEV_TAP_CREATE_IFUP | VIR_NETDEV_TAP_CREATE_PERSIST) = < 0) { - VIR_FREE(macTapIfName); goto error; } } @@ -2583,9 +2488,6 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr d= river, if (virNetDevBandwidthSet(def->bridge, def->bandwidth, true, true) < 0) goto error; =20 - VIR_FREE(macTapIfName); - VIR_FREE(macMapFile); - return 0; =20 error: @@ -2609,10 +2511,8 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr = driver, if (macTapIfName) { VIR_FORCE_CLOSE(tapfd); ignore_value(virNetDevTapDelete(macTapIfName, NULL)); - VIR_FREE(macTapIfName); } virNetworkObjUnrefMacMap(obj); - VIR_FREE(macMapFile); =20 ignore_value(virNetDevBridgeDelete(def->bridge)); =20 @@ -2637,14 +2537,12 @@ networkShutdownNetworkVirtual(virNetworkDriverState= Ptr driver, =20 radvdPid =3D virNetworkObjGetRadvdPid(obj); if (radvdPid > 0) { - char *radvdpidbase; + g_autofree char *radvdpidbase =3D NULL; =20 kill(radvdPid, SIGTERM); /* attempt to delete the pidfile we created */ - if ((radvdpidbase =3D networkRadvdPidfileBasename(def->name))) { + if ((radvdpidbase =3D networkRadvdPidfileBasename(def->name))) virPidFileDelete(driver->pidDir, radvdpidbase); - VIR_FREE(radvdpidbase); - } } =20 dnsmasqPid =3D virNetworkObjGetDnsmasqPid(obj); @@ -2652,11 +2550,9 @@ networkShutdownNetworkVirtual(virNetworkDriverStateP= tr driver, kill(dnsmasqPid, SIGTERM); =20 if (def->mac_specified) { - char *macTapIfName =3D networkBridgeDummyNicName(def->bridge); - if (macTapIfName) { + g_autofree char *macTapIfName =3D networkBridgeDummyNicName(def->b= ridge); + if (macTapIfName) ignore_value(virNetDevTapDelete(macTapIfName, NULL)); - VIR_FREE(macTapIfName); - } } =20 ignore_value(virNetDevSetOnline(def->bridge, 0)); @@ -2963,7 +2859,7 @@ networkShutdownNetwork(virNetworkDriverStatePtr drive= r, { virNetworkDefPtr def =3D virNetworkObjGetDef(obj); int ret =3D 0; - char *stateFile; + g_autofree char *stateFile =3D NULL; =20 VIR_INFO("Shutting down network '%s'", def->name); =20 @@ -2975,7 +2871,6 @@ networkShutdownNetwork(virNetworkDriverStatePtr drive= r, return -1; =20 unlink(stateFile); - VIR_FREE(stateFile); =20 switch ((virNetworkForwardType) def->forward.type) { =20 @@ -3247,8 +3142,7 @@ static int networkFindUnusedBridgeName(virNetworkObjListPtr nets, virNetworkDefPtr def) { - int ret =3D -1, id =3D 0; - char *newname =3D NULL; + int id =3D 0; const char *templ =3D "virbr%d"; const char *p; =20 @@ -3258,7 +3152,8 @@ networkFindUnusedBridgeName(virNetworkObjListPtr nets, templ =3D def->bridge; =20 do { - newname =3D g_strdup_printf(templ, id); + g_autofree char *newname =3D g_strdup_printf(templ, id); + /* check if this name is used in another libvirt network or * there is an existing device with that name. ignore errors * from virNetDevExists(), just in case it isn't implemented @@ -3267,21 +3162,15 @@ networkFindUnusedBridgeName(virNetworkObjListPtr ne= ts, if (!(virNetworkObjBridgeInUse(nets, newname, def->name) || virNetDevExists(newname) =3D=3D 1)) { VIR_FREE(def->bridge); /*could contain template */ - def->bridge =3D newname; - ret =3D 0; - goto cleanup; + def->bridge =3D g_steal_pointer(&newname); + return 0; } - VIR_FREE(newname); } while (++id <=3D MAX_BRIDGE_ID); =20 virReportError(VIR_ERR_INTERNAL_ERROR, _("Bridge generation exceeded max id %d"), MAX_BRIDGE_ID); - ret =3D 0; - cleanup: - if (ret < 0) - VIR_FREE(newname); - return ret; + return -1; } =20 =20 @@ -3424,7 +3313,7 @@ networkValidate(virNetworkDriverStatePtr driver, */ for (i =3D 0; i < def->forward.nifs; i++) { virNetworkForwardIfDefPtr iface =3D &def->forward.ifs[i]; - char *sysfs_path =3D NULL; + g_autofree char *sysfs_path =3D NULL; =20 switch ((virNetworkForwardHostdevDeviceType)iface->type) { case VIR_NETWORK_FORWARD_HOSTDEV_DEVICE_NETDEV: @@ -3465,10 +3354,8 @@ networkValidate(virNetworkDriverStatePtr driver, _("device '%s' in network '%s' is not " "an SR-IOV Virtual Function"), sysfs_path, def->name); - VIR_FREE(sysfs_path); return -1; } - VIR_FREE(sysfs_path); break; } =20 @@ -4144,7 +4031,8 @@ networkSetAutostart(virNetworkPtr net, virNetworkDriverStatePtr driver =3D networkGetDriver(); virNetworkObjPtr obj; virNetworkDefPtr def; - char *configFile =3D NULL, *autostartLink =3D NULL; + g_autofree char *configFile =3D NULL; + g_autofree char *autostartLink =3D NULL; bool new_autostart; bool cur_autostart; int ret =3D -1; @@ -4201,8 +4089,6 @@ networkSetAutostart(virNetworkPtr net, ret =3D 0; =20 cleanup: - VIR_FREE(configFile); - VIR_FREE(autostartLink); virNetworkObjEndAPI(&obj); return ret; } @@ -4224,12 +4110,12 @@ networkGetDHCPLeases(virNetworkPtr net, long long currtime =3D 0; long long expirytime_tmp =3D -1; bool ipv6 =3D false; - char *lease_entries =3D NULL; - char *custom_lease_file =3D NULL; + g_autofree char *lease_entries =3D NULL; + g_autofree char *custom_lease_file =3D NULL; const char *ip_tmp =3D NULL; const char *mac_tmp =3D NULL; virJSONValuePtr lease_tmp =3D NULL; - virJSONValuePtr leases_array =3D NULL; + g_autoptr(virJSONValue) leases_array =3D NULL; virNetworkIPDefPtr ipdef_tmp =3D NULL; virNetworkDHCPLeasePtr lease =3D NULL; virNetworkDHCPLeasePtr *leases_ret =3D NULL; @@ -4384,10 +4270,6 @@ networkGetDHCPLeases(virNetworkPtr net, =20 cleanup: VIR_FREE(lease); - VIR_FREE(lease_entries); - VIR_FREE(custom_lease_file); - virJSONValueFree(leases_array); - virNetworkObjEndAPI(&obj); =20 return rv; @@ -5582,7 +5464,7 @@ networkPortSetParameters(virNetworkPortPtr port, virNetworkDefPtr def; virNetworkPortDefPtr portdef; virNetDevBandwidthPtr bandwidth =3D NULL; - char *dir =3D NULL; + g_autofree char *dir =3D NULL; int ret =3D -1; size_t i; =20 @@ -5660,7 +5542,6 @@ networkPortSetParameters(virNetworkPortPtr port, cleanup: virNetDevBandwidthFree(bandwidth); virNetworkObjEndAPI(&obj); - VIR_FREE(dir); return ret; } =20 diff --git a/src/network/bridge_driver_linux.c b/src/network/bridge_driver_= linux.c index 30f6aa8fe1..0d0ac730f2 100644 --- a/src/network/bridge_driver_linux.c +++ b/src/network/bridge_driver_linux.c @@ -217,14 +217,15 @@ void networkPostReloadFirewallRules(bool startup G_GN= UC_UNUSED) */ int networkCheckRouteCollision(virNetworkDefPtr def) { - int ret =3D 0, len; - char *cur, *buf =3D NULL; + int len; + char *cur; + g_autofree char *buf =3D NULL; /* allow for up to 100000 routes (each line is 128 bytes) */ enum {MAX_ROUTE_SIZE =3D 128*100000}; =20 /* Read whole routing table into memory */ if ((len =3D virFileReadAll(PROC_NET_ROUTE, MAX_ROUTE_SIZE, &buf)) < 0) - goto out; + return 0; =20 /* Dropping the last character shouldn't hurt */ if (len > 0) @@ -233,7 +234,7 @@ int networkCheckRouteCollision(virNetworkDefPtr def) VIR_DEBUG("%s output:\n%s", PROC_NET_ROUTE, buf); =20 if (!STRPREFIX(buf, "Iface")) - goto out; + return 0; =20 /* First line is just headings, skip it */ cur =3D strchr(buf, '\n'); @@ -295,8 +296,7 @@ int networkCheckRouteCollision(virNetworkDefPtr def) virReportError(VIR_ERR_INTERNAL_ERROR, _("Network is already in use by interface %= s"), iface); - ret =3D -1; - goto out; + return -1; } } =20 @@ -315,23 +315,19 @@ int networkCheckRouteCollision(virNetworkDefPtr def) =20 if ((r_addr.data.inet4.sin_addr.s_addr =3D=3D addr_val) && (r_mask.data.inet4.sin_addr.s_addr =3D=3D mask_val)) { - char *addr_str =3D virSocketAddrFormat(&r_addr); + g_autofree char *addr_str =3D virSocketAddrFormat(&r_addr); if (!addr_str) virResetLastError(); virReportError(VIR_ERR_INTERNAL_ERROR, _("Route address '%s' conflicts " "with IP address for '%s'"), NULLSTR(addr_str), iface); - VIR_FREE(addr_str); - ret =3D -1; - goto out; + return -1; } } } =20 - out: - VIR_FREE(buf); - return ret; + return 0; } =20 static const char networkLocalMulticastIPv4[] =3D "224.0.0.0/24"; @@ -838,8 +834,7 @@ int networkAddFirewallRules(virNetworkDefPtr def) { size_t i; virNetworkIPDefPtr ipdef; - virFirewallPtr fw =3D NULL; - int ret =3D -1; + g_autoptr(virFirewall) fw =3D NULL; =20 if (virOnce(&createdOnce, networkSetupPrivateChains) < 0) return -1; @@ -869,11 +864,11 @@ int networkAddFirewallRules(virNetworkDefPtr def) _("zone %s requested for network %s " "but firewalld is not active"), def->bridgeZone, def->name); - goto cleanup; + return -1; } =20 if (virFirewallDInterfaceSetZone(def->bridge, def->bridgeZone) < 0) - goto cleanup; + return -1; =20 } else { =20 @@ -893,13 +888,13 @@ int networkAddFirewallRules(virNetworkDefPtr def) */ if (virFirewallDZoneExists("libvirt")) { if (virFirewallDInterfaceSetZone(def->bridge, "libvirt") <= 0) - goto cleanup; + return -1; } else { unsigned long version; int vresult =3D virFirewallDGetVersion(&version); =20 if (vresult < 0) - goto cleanup; + return -1; =20 /* Support for nftables backend was added in firewalld * 0.6.0. Support for rule priorities (required by the @@ -919,7 +914,7 @@ int networkAddFirewallRules(virNetworkDefPtr def) "version supporting rule priorities " "(0.7.0+) and/or rebuilding " "libvirt with --with-firewalld-zone")= ); - goto cleanup; + return -1; } } } @@ -935,7 +930,7 @@ int networkAddFirewallRules(virNetworkDefPtr def) (ipdef =3D virNetworkDefGetIPByIndex(def, AF_UNSPEC, i)); i++) { if (networkAddIPSpecificFirewallRules(fw, def, ipdef) < 0) - goto cleanup; + return -1; } =20 virFirewallStartRollback(fw, 0); @@ -944,7 +939,7 @@ int networkAddFirewallRules(virNetworkDefPtr def) (ipdef =3D virNetworkDefGetIPByIndex(def, AF_UNSPEC, i)); i++) { if (networkRemoveIPSpecificFirewallRules(fw, def, ipdef) < 0) - goto cleanup; + return -1; } networkRemoveGeneralFirewallRules(fw, def); =20 @@ -952,12 +947,9 @@ int networkAddFirewallRules(virNetworkDefPtr def) networkAddChecksumFirewallRules(fw, def); =20 if (virFirewallApply(fw) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - cleanup: - virFirewallFree(fw); - return ret; + return 0; } =20 /* Remove all rules for all ip addresses (and general rules) on a network = */ @@ -965,9 +957,7 @@ void networkRemoveFirewallRules(virNetworkDefPtr def) { size_t i; virNetworkIPDefPtr ipdef; - virFirewallPtr fw =3D NULL; - - fw =3D virFirewallNew(); + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS= ); networkRemoveChecksumFirewallRules(fw, def); @@ -978,12 +968,9 @@ void networkRemoveFirewallRules(virNetworkDefPtr def) (ipdef =3D virNetworkDefGetIPByIndex(def, AF_UNSPEC, i)); i++) { if (networkRemoveIPSpecificFirewallRules(fw, def, ipdef) < 0) - goto cleanup; + return; } networkRemoveGeneralFirewallRules(fw, def); =20 virFirewallApply(fw); - - cleanup: - virFirewallFree(fw); } diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c index 2b5fc0f442..732dd09610 100644 --- a/src/network/leaseshelper.c +++ b/src/network/leaseshelper.c @@ -82,8 +82,8 @@ VIR_ENUM_IMPL(virLeaseAction, int main(int argc, char **argv) { - char *pid_file =3D NULL; - char *custom_lease_file =3D NULL; + g_autofree char *pid_file =3D NULL; + g_autofree char *custom_lease_file =3D NULL; const char *ip =3D NULL; const char *mac =3D NULL; const char *leases_str =3D NULL; @@ -91,13 +91,13 @@ main(int argc, char **argv) const char *clientid =3D getenv("DNSMASQ_CLIENT_ID"); const char *interface =3D getenv("DNSMASQ_INTERFACE"); const char *hostname =3D getenv("DNSMASQ_SUPPLIED_HOSTNAME"); - char *server_duid =3D NULL; + g_autofree char *server_duid =3D NULL; int action =3D -1; int pid_file_fd =3D -1; int rv =3D EXIT_FAILURE; bool delete =3D false; - virJSONValuePtr lease_new =3D NULL; - virJSONValuePtr leases_array_new =3D NULL; + g_autoptr(virJSONValue) lease_new =3D NULL; + g_autoptr(virJSONValue) leases_array_new =3D NULL; =20 virSetErrorFunc(NULL, NULL); virSetErrorLogPriorityFunc(NULL); @@ -256,11 +256,5 @@ main(int argc, char **argv) if (pid_file_fd !=3D -1) virPidFileReleasePath(pid_file, pid_file_fd); =20 - VIR_FREE(pid_file); - VIR_FREE(server_duid); - VIR_FREE(custom_lease_file); - virJSONValueFree(lease_new); - virJSONValueFree(leases_array_new); - return rv; } diff --git a/src/util/virdnsmasq.h b/src/util/virdnsmasq.h index 4c14bc6ca7..e3814c2eb1 100644 --- a/src/util/virdnsmasq.h +++ b/src/util/virdnsmasq.h @@ -78,10 +78,14 @@ typedef enum { typedef struct _dnsmasqCaps dnsmasqCaps; typedef dnsmasqCaps *dnsmasqCapsPtr; =20 +G_DEFINE_AUTOPTR_CLEANUP_FUNC(dnsmasqCaps, virObjectUnref); + =20 dnsmasqContext * dnsmasqContextNew(const char *network_name, const char *config_dir); void dnsmasqContextFree(dnsmasqContext *ctx); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(dnsmasqContext, dnsmasqContextFree); + int dnsmasqAddDhcpHost(dnsmasqContext *ctx, const char *mac, virSocketAddr *ip, --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1593056092; cv=none; d=zohomail.com; s=zohoarc; b=HDM603jQl78w6TDegS4vT9yWcqy5RBIVP4NQck0SkjfjcHMTPnWSatw6fh8+F00goQ7LZmwNQGZCaonoE43u+EE6+oE8uM48Gzdx4wQ7peCQlp7udNIhVHc+53xsv3O6Jd8XE5tB2fuhJSkQQQwYbludlIpwgtyJQ6amHDIyDUI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056092; 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=L8Xa46olbM8EwlDPnwVTGX4pP9T4mJJuDCFNCZPUXv0=; b=MUVouaNR9fz+boDaYlzyKem+8zVL9EKYf0Y4YMr5qJaB2Hx17dUGJluHWRqtd61/tRmggeAdIfqZPjSjr0EBi7UF8BxCg2boQ0QQz2Z14C5aCHob9NH6RMisAiFGP62VZwiFfA8D0MQ3Y3RrZEVckLS8cAO4CMQytw/mjTZrmF0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1593056092817169.23369573111563; Wed, 24 Jun 2020 20:34:52 -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-319-N1sNZiH7OCyQMjkqDUEGNA-1; Wed, 24 Jun 2020 23:34:49 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EBF94804012; Thu, 25 Jun 2020 03:34:38 +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 C913291D99; Thu, 25 Jun 2020 03:34:38 +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 96DB3875A7; Thu, 25 Jun 2020 03:34:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YRmZ007838 for ; Wed, 24 Jun 2020 23:34:27 -0400 Received: by smtp.corp.redhat.com (Postfix) id 046345BAE5; Thu, 25 Jun 2020 03:34:27 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id B576A5BACC for ; Thu, 25 Jun 2020 03:34:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056091; 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=L8Xa46olbM8EwlDPnwVTGX4pP9T4mJJuDCFNCZPUXv0=; b=fuAYkN3/YqlIkLrbxSRmyt3Mmd6yIVlQ2t64OVf7n2WpqfJeHunLXrHK9Gco+PnFjLAYx4 VawiDG8iRtRzSPUyH+gzF5a1KDWldrs8xT27BqWAEt4zV8h+52Q55jIe15RodD/0Q/ay8t uKfwFFyU7djkRfKPa2ysSjXx/TnRKOk= X-MC-Unique: N1sNZiH7OCyQMjkqDUEGNA-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 11/25] network: use g_free() in place of remaining VIR_FREE() Date: Wed, 24 Jun 2020 23:34:00 -0400 Message-Id: <20200625033414.1819594-12-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Laine Stump --- src/network/bridge_driver.c | 59 +++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 668aa9ca88..a1b2f5b6c7 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -148,7 +148,7 @@ networkDnsmasqDefNamespaceFree(void *nsdata) =20 virStringListFreeCount(def->options, def->noptions); =20 - VIR_FREE(def); + g_free(def); } =20 =20 @@ -706,7 +706,8 @@ networkStateInitialize(bool privileged, =20 network_driver->lockFD =3D -1; if (virMutexInit(&network_driver->lock) < 0) { - VIR_FREE(network_driver); + g_free(network_driver); + network_driver =3D NULL; goto error; } =20 @@ -874,18 +875,19 @@ networkStateCleanup(void) virPidFileRelease(network_driver->stateDir, "driver", network_driver->lockFD); =20 - VIR_FREE(network_driver->networkConfigDir); - VIR_FREE(network_driver->networkAutostartDir); - VIR_FREE(network_driver->stateDir); - VIR_FREE(network_driver->pidDir); - VIR_FREE(network_driver->dnsmasqStateDir); - VIR_FREE(network_driver->radvdStateDir); + g_free(network_driver->networkConfigDir); + g_free(network_driver->networkAutostartDir); + g_free(network_driver->stateDir); + g_free(network_driver->pidDir); + g_free(network_driver->dnsmasqStateDir); + g_free(network_driver->radvdStateDir); =20 virObjectUnref(network_driver->dnsmasqCaps); =20 virMutexDestroy(&network_driver->lock); =20 - VIR_FREE(network_driver); + g_free(network_driver); + network_driver =3D NULL; =20 return 0; } @@ -2192,7 +2194,7 @@ networkSetIPv6Sysctls(virNetworkObjPtr obj) /* Prevent guests from hijacking the host network by sending out * their own router advertisements. */ - VIR_FREE(field); + g_free(field); field =3D g_strdup_printf(SYSCTL_PATH "/net/ipv6/conf/%s/accept_ra", def->bridge); =20 @@ -2205,7 +2207,7 @@ networkSetIPv6Sysctls(virNetworkObjPtr obj) /* All interfaces used as a gateway (which is what this is, by * definition), must always have autoconf=3D0. */ - VIR_FREE(field); + g_free(field); field =3D g_strdup_printf(SYSCTL_PATH "/net/ipv6/conf/%s/autoconf", de= f->bridge); =20 if (virFileWriteStr(field, "0", 0) < 0) { @@ -2713,19 +2715,19 @@ networkCreateInterfacePool(virNetworkDefPtr netdef) for (i =3D 0; i < netdef->forward.nifs; i++) { if (netdef->forward.ifs[i].type =3D=3D VIR_NETWORK_FORWARD_HOSTDEV_DEVICE_NETDEV) - VIR_FREE(netdef->forward.ifs[i].device.dev); + g_free(netdef->forward.ifs[i].device.dev); } netdef->forward.nifs =3D 0; } if (netdef->forward.nifs =3D=3D 0) - VIR_FREE(netdef->forward.ifs); + g_free(netdef->forward.ifs); =20 for (i =3D 0; i < numVirtFns; i++) { - VIR_FREE(vfNames[i]); - VIR_FREE(virtFns[i]); + g_free(vfNames[i]); + g_free(virtFns[i]); } - VIR_FREE(vfNames); - VIR_FREE(virtFns); + g_free(vfNames); + g_free(virtFns); return ret; } =20 @@ -3161,7 +3163,7 @@ networkFindUnusedBridgeName(virNetworkObjListPtr nets, */ if (!(virNetworkObjBridgeInUse(nets, newname, def->name) || virNetDevExists(newname) =3D=3D 1)) { - VIR_FREE(def->bridge); /*could contain template */ + g_free(def->bridge); /*could contain template */ def->bridge =3D g_steal_pointer(&newname); return 0; } @@ -4256,7 +4258,8 @@ networkGetDHCPLeases(virNetworkPtr net, nleases++; } =20 - VIR_FREE(lease); + g_free(lease); + lease =3D NULL; } =20 if (leases_ret) { @@ -4269,7 +4272,7 @@ networkGetDHCPLeases(virNetworkPtr net, rv =3D nleases; =20 cleanup: - VIR_FREE(lease); + g_free(lease); virNetworkObjEndAPI(&obj); =20 return rv; @@ -4278,7 +4281,7 @@ networkGetDHCPLeases(virNetworkPtr net, if (leases_ret) { for (i =3D 0; i < nleases; i++) virNetworkDHCPLeaseFree(leases_ret[i]); - VIR_FREE(leases_ret); + g_free(leases_ret); } goto cleanup; } @@ -4402,7 +4405,7 @@ networkAllocatePort(virNetworkObjPtr obj, return -1; } if (portprofile) { - VIR_FREE(port->virtPortProfile); + g_free(port->virtPortProfile); port->virtPortProfile =3D portprofile; } =20 @@ -5519,10 +5522,14 @@ networkPortSetParameters(virNetworkPortPtr port, /* average or floor are mandatory, peak and burst are optional. * So if no average or floor is given, we free inbound/outbound * here which causes inbound/outbound to not be set. */ - if (!bandwidth->in->average && !bandwidth->in->floor) - VIR_FREE(bandwidth->in); - if (!bandwidth->out->average) - VIR_FREE(bandwidth->out); + if (!bandwidth->in->average && !bandwidth->in->floor) { + g_free(bandwidth->in); + bandwidth->in =3D NULL; + } + if (!bandwidth->out->average) { + g_free(bandwidth->out); + bandwidth->out =3D NULL; + } =20 if (networkUpdatePortBandwidth(obj, &portdef->mac, --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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 (zohomail.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=1593056090; cv=none; d=zohomail.com; s=zohoarc; b=R4EndORuaNiSI4GgHIlfvwlvm70f9jMYpzM42i4FyTnmr1Sh7GSV5w6eYG1c33fdqE3k7q96jikMu7huUUG/CLJgVnCEr8kWX33cKX/4NwCPm7DejcgJRUMn8BWJi1oyVEoADM+a5PHqvI/xYAKSxRRRVdOPCTv9/umZooeU0ew= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056090; 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=97ac3DrdV1p5h2MtPmLM0EnHUBOVtR6iBxyUVXZupyA=; b=CgRbq9Pc7ZF6DmOF2ULnUZ3/VM4BiKks8RwZfXosZcs8jVQFu2ep9nJlzfM74KxuKgmL8F9qee49KmPGa8v0Tt6NhiYzPiE4PoMWjkIUcCF9ilSNwlRSx7HbZAQMj6dAT/u1VAwN5nsnsyqL/X+XyvLH1Wyj+j/qG4FXBltGmMg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.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-2.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1593056090189482.6805350912665; Wed, 24 Jun 2020 20:34:50 -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-440--45EiXybNnOCQpEpwWSGOQ-1; Wed, 24 Jun 2020 23:34:46 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 78F46804014; Thu, 25 Jun 2020 03:34:41 +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 5B09E8FF9F; Thu, 25 Jun 2020 03:34:41 +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 2C9AE875AB; Thu, 25 Jun 2020 03:34:41 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YRrX007843 for ; Wed, 24 Jun 2020 23:34:27 -0400 Received: by smtp.corp.redhat.com (Postfix) id 728537FE8B; Thu, 25 Jun 2020 03:34:27 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2F2BA5BAC0 for ; Thu, 25 Jun 2020 03:34:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056089; 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=97ac3DrdV1p5h2MtPmLM0EnHUBOVtR6iBxyUVXZupyA=; b=T2TeMoVoivUm4Hh/GSbwc2qGOlF844M3dRnYfmUqAUscfj7ZtIjGdyoU/Un4QPW+2/3quJ VVfjGDJmGxZgkY1IHw7G8hcFV8okKdjOHm6FnTC9y01UBrYLK3bRpf2NJs00kwfWILcm0w V4qzaHBbzUf1UgNvoxzfZZzHVbeAHKc= X-MC-Unique: -45EiXybNnOCQpEpwWSGOQ-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 12/25] network: make networkDnsmasqXmlNsDef private to bridge_driver.c Date: Wed, 24 Jun 2020 23:34:01 -0400 Message-Id: <20200625033414.1819594-13-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" This struct isn't used anywhere else. Signed-off-by: Laine Stump Reviewed-by: J=C3=A1n Tomko --- src/network/bridge_driver.c | 10 ++++++++++ src/network/bridge_driver.h | 9 --------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index a1b2f5b6c7..275502b778 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -139,6 +139,16 @@ networkDnsmasqCapsRefresh(virNetworkDriverStatePtr dri= ver) } =20 =20 +extern virXMLNamespace networkDnsmasqXMLNamespace; + +typedef struct _networkDnsmasqXmlNsDef networkDnsmasqXmlNsDef; +typedef networkDnsmasqXmlNsDef *networkDnsmasqXmlNsDefPtr; +struct _networkDnsmasqXmlNsDef { + size_t noptions; + char **options; +}; + + static void networkDnsmasqDefNamespaceFree(void *nsdata) { diff --git a/src/network/bridge_driver.h b/src/network/bridge_driver.h index fb0ccad4b1..2613fc629d 100644 --- a/src/network/bridge_driver.h +++ b/src/network/bridge_driver.h @@ -27,15 +27,6 @@ #include "virdnsmasq.h" #include "virnetworkobj.h" =20 -extern virXMLNamespace networkDnsmasqXMLNamespace; - -typedef struct _networkDnsmasqXmlNsDef networkDnsmasqXmlNsDef; -typedef networkDnsmasqXmlNsDef *networkDnsmasqXmlNsDefPtr; -struct _networkDnsmasqXmlNsDef { - size_t noptions; - char **options; -}; - virNetworkXMLOptionPtr networkDnsmasqCreateXMLConf(void); =20 --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1593056167; cv=none; d=zohomail.com; s=zohoarc; b=gagJZSWOpmVlQhkcO3lXzus+vMJK0Rq9KD4m+Hm1DXXkZRe3IQ342xFh/e+m2FVlxacB+xlpIUJO/vqh8zP/EkfPkgOKcvEW0PTsLLKb4tlyHWXMJ9eKhS0vvKwj4laGwzb6HIKhm2HNytVGmBIKZV+vG6nmrgD6XA2s+tSucHQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056167; 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=AbEy0OfA1YOPc5VROaLsacoUK0XQEKy0TlumLtVHc10=; b=NFPqeu2j/x/j/SvfI0Qn/Jf7bI5/HRov6YKEx3/UYojC4wG6BpZGZcSjRPAOAKxaGs/DBgWM6rSJlgf2fC5rEqIYbaE8CKI0Ej5V8mdmuUVGcxcD5emqnfTIdiqcxeCrFNVcJYYEUSkIm54PMmrWPeNJEaBIBx6d+xg2Av4LvUs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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 [207.211.31.81]) by mx.zohomail.com with SMTPS id 1593056167120176.47232871331846; Wed, 24 Jun 2020 20:36:07 -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-24-l3LOzMatM0-pokDcwFPW4A-1; Wed, 24 Jun 2020 23:34:49 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CAE0BEC1BD; Thu, 25 Jun 2020 03:34:43 +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 ABE621DA; Thu, 25 Jun 2020 03:34:43 +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 7B47C1805311; Thu, 25 Jun 2020 03:34:43 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YRLM007849 for ; Wed, 24 Jun 2020 23:34:27 -0400 Received: by smtp.corp.redhat.com (Postfix) id E25115BAC9; Thu, 25 Jun 2020 03:34:27 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9E0005BAC6 for ; Thu, 25 Jun 2020 03:34:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056165; 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=AbEy0OfA1YOPc5VROaLsacoUK0XQEKy0TlumLtVHc10=; b=Pc+cClNf7w8Jbbl0o6cb4thhXVv8xVHrXplHfabSAvwbQrGv8bMfI9cpAmaBzGq7J7Ho0C O6Ed9Kf6nse2qFd7ASjDcSYUXXCOHynfhpXwUMnQjJvdQCzAfrBHfKlrtTlt3JbbrOiCql gG5KGH3k1k28ec87uOMBKuIsYY3Z0rQ= X-MC-Unique: l3LOzMatM0-pokDcwFPW4A-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 13/25] define g_autoptr cleanup function for virNetworkDHCPLease Date: Wed, 24 Jun 2020 23:34:02 -0400 Message-Id: <20200625033414.1819594-14-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.14 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 X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" virNetworkDHCPLease and virNetworkDHCPLeaseFree() are declared in the public API file libvirt-network.h, and we can't pollute that with glib macro invocations, so put this in src/datatypes.h next to the other virNetwork items. Signed-off-by: Laine Stump --- src/datatypes.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/datatypes.h b/src/datatypes.h index d58429ad6c..ade3779e43 100644 --- a/src/datatypes.h +++ b/src/datatypes.h @@ -635,6 +635,8 @@ struct _virNetworkPort { =20 G_DEFINE_AUTOPTR_CLEANUP_FUNC(virNetworkPort, virObjectUnref); =20 +/* virNetworkDHCPLease is defined in the public API - libvirt-network.h */ +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virNetworkDHCPLease, virNetworkDHCPLeaseFree= ); =20 /** * _virInterface: --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1593056295; cv=none; d=zohomail.com; s=zohoarc; b=m4PIfLq/m1bmsHPNqk6i/Q5l0LBjVJhFxj4p+FtP8BbSxd2otB1bzKdsh2hc88pA+ajlsufx8KxnmtFChO0Ccgpz0j6f+L4J5YE2NSSRBv94xYdby0ew+ah19t+GazaPduNg4ECJCwKG9NzVDAKicTUgzXcXAAtgQICrqWQXzM4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056295; 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=bRUT/6/i0frta0D3pTHP2M8P/55FS2427KIX/423G7A=; b=kMn661053KTKXFvzxOIjIUbCJ5InKRJTqDJVEftpJW0rqvgh2BeaX4BgJJP0jABvnRg8TXUBla8WUor3LCVl4me47sWvp8tkFzeiUbrqEAoqqccDVVueDwdVqxCVthIci7iHrwY9ew3wnHuqTm/fbhqBu15xs++UA+9T3TEkfmQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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 [207.211.31.81]) by mx.zohomail.com with SMTPS id 1593056295534312.4718119101519; Wed, 24 Jun 2020 20:38:15 -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-347-bHy6UI8QPBWWfhfT_wwQfg-1; Wed, 24 Jun 2020 23:34:52 -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 2EF19EC1AB; Thu, 25 Jun 2020 03:34:46 +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 0D6BF2B4BB; Thu, 25 Jun 2020 03:34:46 +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 D1F5E1805319; Thu, 25 Jun 2020 03:34:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YSaQ007857 for ; Wed, 24 Jun 2020 23:34:28 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5F1DE5BAC9; Thu, 25 Jun 2020 03:34:28 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 198415BAC6 for ; Thu, 25 Jun 2020 03:34:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056294; 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=bRUT/6/i0frta0D3pTHP2M8P/55FS2427KIX/423G7A=; b=F/sBOx8L0u7GZpaVIwO3lqTfzdaJ/ZGzBpdVpCVQ0e+TXDKBS1vM0cTzCfx5TJNEwYHtzW QK1j5Kgp8EqcsmByikT9vgPnEAcqIsbXsWKhA0Nw5HjIFmrZNa4jYoynaStWM6i5v2BjZy K471ZiUa/OlRZO6vZ5mwj3D/fj5x/Eg= X-MC-Unique: bHy6UI8QPBWWfhfT_wwQfg-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 14/25] network: replace VIR_ALLOC/REALLOC with g_new0/g_renew Date: Wed, 24 Jun 2020 23:34:03 -0400 Message-Id: <20200625033414.1819594-15-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" most of these are long-lived or attached to some other object, but a couple are automatics, and can take advantage of g_autoptr. Signed-off-by: Laine Stump --- src/network/bridge_driver.c | 44 +++++++++++-------------------------- 1 file changed, 13 insertions(+), 31 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 275502b778..1dee2fac6e 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -160,6 +160,7 @@ networkDnsmasqDefNamespaceFree(void *nsdata) =20 g_free(def); } +G_DEFINE_AUTOPTR_CLEANUP_FUNC(networkDnsmasqXmlNsDefPtr, networkDnsmasqDef= NamespaceFree); =20 =20 static int @@ -177,8 +178,7 @@ networkDnsmasqDefNamespaceParseOptions(networkDnsmasqXm= lNsDefPtr nsdef, if (nnodes =3D=3D 0) return 0; =20 - if (VIR_ALLOC_N(nsdef->options, nnodes) < 0) - return -1; + nsdef->options =3D g_new0(char *, nnodes); =20 for (i =3D 0; i < nnodes; i++) { if (!(nsdef->options[nsdef->noptions++] =3D virXMLPropString(nodes= [i], "value"))) { @@ -196,23 +196,15 @@ static int networkDnsmasqDefNamespaceParse(xmlXPathContextPtr ctxt, void **data) { - networkDnsmasqXmlNsDefPtr nsdata =3D NULL; - int ret =3D -1; - - if (VIR_ALLOC(nsdata) < 0) - return -1; + networkDnsmasqXmlNsDefPtr nsdata =3D g_new0(networkDnsmasqXmlNsDef, 1); =20 if (networkDnsmasqDefNamespaceParseOptions(nsdata, ctxt)) - goto cleanup; + return -1; =20 if (nsdata->noptions > 0) *data =3D g_steal_pointer(&nsdata); =20 - ret =3D 0; - - cleanup: - networkDnsmasqDefNamespaceFree(nsdata); - return ret; + return 0; } =20 =20 @@ -711,8 +703,7 @@ networkStateInitialize(bool privileged, return -1; } =20 - if (VIR_ALLOC(network_driver) < 0) - goto error; + network_driver =3D g_new0(virNetworkDriverState, 1); =20 network_driver->lockFD =3D -1; if (virMutexInit(&network_driver->lock) < 0) { @@ -2658,8 +2649,7 @@ networkCreateInterfacePool(virNetworkDefPtr netdef) goto cleanup; } =20 - if (VIR_ALLOC_N(netdef->forward.ifs, numVirtFns) < 0) - goto cleanup; + netdef->forward.ifs =3D g_new0(virNetworkForwardIfDef, numVirtFns); =20 for (i =3D 0; i < numVirtFns; i++) { virPCIDeviceAddressPtr thisVirtFn =3D virtFns[i]; @@ -4129,7 +4119,6 @@ networkGetDHCPLeases(virNetworkPtr net, virJSONValuePtr lease_tmp =3D NULL; g_autoptr(virJSONValue) leases_array =3D NULL; virNetworkIPDefPtr ipdef_tmp =3D NULL; - virNetworkDHCPLeasePtr lease =3D NULL; virNetworkDHCPLeasePtr *leases_ret =3D NULL; virNetworkObjPtr obj; virNetworkDefPtr def; @@ -4218,8 +4207,7 @@ networkGetDHCPLeases(virNetworkPtr net, continue; =20 if (need_results) { - if (VIR_ALLOC(lease) < 0) - goto error; + g_autoptr(virNetworkDHCPLease) lease =3D g_new0(virNetworkDHCP= Lease, 1); =20 lease->expirytime =3D expirytime_tmp; =20 @@ -4267,22 +4255,17 @@ networkGetDHCPLeases(virNetworkPtr net, } else { nleases++; } - - g_free(lease); - lease =3D NULL; } =20 if (leases_ret) { /* NULL terminated array */ - ignore_value(VIR_REALLOC_N(leases_ret, nleases + 1)); - *leases =3D leases_ret; - leases_ret =3D NULL; + leases_ret =3D g_renew(virNetworkDHCPLeasePtr, leases_ret, nlease= s + 1); + *leases =3D g_steal_pointer(&leases_ret); } =20 rv =3D nleases; =20 cleanup: - g_free(lease); virNetworkObjEndAPI(&obj); =20 return rv; @@ -5504,10 +5487,9 @@ networkPortSetParameters(virNetworkPortPtr port, if (!(dir =3D virNetworkObjGetPortStatusDir(obj, driver->stateDir))) goto cleanup; =20 - if ((VIR_ALLOC(bandwidth) < 0) || - (VIR_ALLOC(bandwidth->in) < 0) || - (VIR_ALLOC(bandwidth->out) < 0)) - goto cleanup; + bandwidth =3D g_new0(virNetDevBandwidth, 1); + bandwidth->in =3D g_new0(virNetDevBandwidthRate, 1); + bandwidth->out =3D g_new0(virNetDevBandwidthRate, 1); =20 for (i =3D 0; i < nparams; i++) { virTypedParameterPtr param =3D ¶ms[i]; --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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 (zohomail.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=1593056167; cv=none; d=zohomail.com; s=zohoarc; b=NcNEyvGgaSIma3CPeD1vlyVbdhV5GXAt7mEC4DOsQfcfx/mS61psFdApnf2AnLb80SlwdcDDepqrxjk683ZVe8GusDOSFAGaoBtCE7sA63OUV4GzGZhgDTyCTwoLmdhcMPf948yBCadVgQCEH6SjW6Fuu499NvpqCjX7XW8fH34= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056167; 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=PiPu6dGoCJzXZ0qY9vklscZcBPcPEAf9IogQ2DptjDc=; b=Eq+JctiMFfVvKrxgoimkMFo4pd0AcPLHGEXYmocJCEpK8uQZAyr1i+NwWSji+c47Xc0jK7ldapNJ13GwyiERgzM3Hy5MIX/1O+RLUxymQ7x7daWtRQ1aCV0O9UhTyZKOGYDU8FjnIWfuUzTfZPOB/f8ZynwSkRTtPI8CAIfNaNg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.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 1593056167982891.6291557912593; Wed, 24 Jun 2020 20:36:07 -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-413-vvJ38RZHOVqPbm6VN1MGAA-1; Wed, 24 Jun 2020 23:34:47 -0400 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 C45D8108597A; Thu, 25 Jun 2020 03:34:38 +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 A0BA71011396; Thu, 25 Jun 2020 03:34:38 +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 2EA74875A2; Thu, 25 Jun 2020 03:34:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YSdA007867 for ; Wed, 24 Jun 2020 23:34:28 -0400 Received: by smtp.corp.redhat.com (Postfix) id CDE9E5BAC6; Thu, 25 Jun 2020 03:34:28 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 89ECD5BAE5 for ; Thu, 25 Jun 2020 03:34:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056166; 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=PiPu6dGoCJzXZ0qY9vklscZcBPcPEAf9IogQ2DptjDc=; b=DrL3R55aBbdbpXOQac/Wt+1rmzrmOEIF+hO9FG3Hw8AygJSRIDwxZlwmS32QZce0vgXc0N 7mU6thJMI0Rgk38QObTFFpENOH5HYlSBlA6YpI9ONyOlUCwu7yII8wTQ3mEQEadDYQdaho J/O501aGD55s3eQxWtPO/sba8HwV3Ok= X-MC-Unique: vvJ38RZHOVqPbm6VN1MGAA-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 15/25] network: use proper arg type when calling virNetDevSetOnline() Date: Wed, 24 Jun 2020 23:34:04 -0400 Message-Id: <20200625033414.1819594-16-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The 2nd arg to this function is a bool, not an int. Signed-off-by: Laine Stump Reviewed-by: J=C3=A1n Tomko --- src/network/bridge_driver.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 1dee2fac6e..cbf5f05f30 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -2427,7 +2427,7 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr d= river, goto error; =20 /* Bring up the bridge interface */ - if (virNetDevSetOnline(def->bridge, 1) < 0) + if (virNetDevSetOnline(def->bridge, true) < 0) goto error; =20 devOnline =3D true; @@ -2505,7 +2505,7 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr d= river, } =20 if (devOnline) - ignore_value(virNetDevSetOnline(def->bridge, 0)); + ignore_value(virNetDevSetOnline(def->bridge, false)); =20 if (firewalRulesAdded && def->forward.type !=3D VIR_NETWORK_FORWARD_OPEN) @@ -2558,7 +2558,7 @@ networkShutdownNetworkVirtual(virNetworkDriverStatePt= r driver, ignore_value(virNetDevTapDelete(macTapIfName, NULL)); } =20 - ignore_value(virNetDevSetOnline(def->bridge, 0)); + ignore_value(virNetDevSetOnline(def->bridge, false)); =20 if (def->forward.type !=3D VIR_NETWORK_FORWARD_OPEN) networkRemoveFirewallRules(def); --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.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 (zohomail.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=1593056243; cv=none; d=zohomail.com; s=zohoarc; b=jqRrPnhllF9YH1Xgw2/wZGmnb1qg+V2Ae8xvTDExaB8DWGgVuMj56heHviymDsAmGHflKbOWwVZ34HygRl7SwPAkFkpD5XaZ4Z/cV7iTDV36eYgQf/D7v6Wq+AKZfnN+j0slnzxuE5eTvo4LCiYlwnngBj2YAXJ8lGMFh2fxC2A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056243; 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=PqWPRAUaxCij3uQb1cfcZLHklGnO0b5nCeJW3zYFPNE=; b=Ft5ZA0zu9X2YcLMU7DG//Ma8/NhaawsPiAZXOTLVGEsLHiBuFbo3+jKY2hH9cDH/aO8z7Ko4PqY1j/02bW6mjqzqyYUqra2ACy3d29QDfQCyJ7Lovx/cdYuySFf54YB3LOQhkgUfTdaV3i6FAImWgPSWbjHPqiqSk1WqaL/ox+A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.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-2.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1593056243987901.2977188698852; Wed, 24 Jun 2020 20:37:23 -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-14-57HIiuNdPGSjSg2HO5XHoQ-1; Wed, 24 Jun 2020 23:34:43 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B311BEC1A3; Thu, 25 Jun 2020 03:34:36 +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 95AC05C557; Thu, 25 Jun 2020 03:34:36 +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 693BE87581; Thu, 25 Jun 2020 03:34:36 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YTR7007872 for ; Wed, 24 Jun 2020 23:34:29 -0400 Received: by smtp.corp.redhat.com (Postfix) id 482B85BAC0; Thu, 25 Jun 2020 03:34:29 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0554B5BAC6 for ; Thu, 25 Jun 2020 03:34:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056242; 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=PqWPRAUaxCij3uQb1cfcZLHklGnO0b5nCeJW3zYFPNE=; b=FVrmYmsMlxrSjw4N3hIFeG5MjUvb+Xv/zaAykYR9l0NVe0FPnAQzC0nP59rfmafWlkT4SP nu7mHbvsi3YgluGagrEzQ/AJhvVRTdiw0h8eqrXr1we5HI1/AqqH1a+TJq9qTW40Fq8GJL 5CIBEn5NTJ9RnyigBjZIJqZH147R5Ns= X-MC-Unique: 57HIiuNdPGSjSg2HO5XHoQ-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 16/25] squash into 'network: convert local pointers to g_auto*' Date: Wed, 24 Jun 2020 23:34:05 -0400 Message-Id: <20200625033414.1819594-17-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.16 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 X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Laine Stump --- src/network/bridge_driver_linux.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/network/bridge_driver_linux.c b/src/network/bridge_driver_= linux.c index 0d0ac730f2..7f765bcf99 100644 --- a/src/network/bridge_driver_linux.c +++ b/src/network/bridge_driver_linux.c @@ -834,7 +834,7 @@ int networkAddFirewallRules(virNetworkDefPtr def) { size_t i; virNetworkIPDefPtr ipdef; - g_autoptr(virFirewall) fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 if (virOnce(&createdOnce, networkSetupPrivateChains) < 0) return -1; @@ -920,8 +920,6 @@ int networkAddFirewallRules(virNetworkDefPtr def) } } =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 networkAddGeneralFirewallRules(fw, def); @@ -946,10 +944,7 @@ int networkAddFirewallRules(virNetworkDefPtr def) virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS= ); networkAddChecksumFirewallRules(fw, def); =20 - if (virFirewallApply(fw) < 0) - return -1; - - return 0; + return virFirewallApply(fw); } =20 /* Remove all rules for all ip addresses (and general rules) on a network = */ --=20 2.25.4 From nobody Tue Apr 23 20:52:49 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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=1593056091; cv=none; d=zohomail.com; s=zohoarc; b=lD4u122ur7onKdnE73Hj1t4Ke5zQmvY7tSZ0mPz8E2/dBWxIeS2hRf/dBflyO71PV+AjWJ1D8lt0Zo+uEoAEotiUPCGvt/VKOOedTt6kfMhuJMRr6QOIUeDJGDyeWWHz5JgbSIqtnXO7Ogl+oJUT8urWFZL7/bIU8hICzDZKZSo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056091; 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=WubazXtvLzFkgAfVSnJtYpTVQtXk74v/JhkfEU6l1Ho=; b=L0zT3dQW+5g5sd3KoaWBULDXvhMgLuZ5wjB0T6nItPo2o/axWmIyszkFn6V8GU5SNS1f8adiCZiPtk7XEB5IpLyXupM5N1ZCDR+HGEAU2GNpm0xxS9z0WNLkynypJqOLwbzFFbDED8Ei8iEgkZoi1dTdeLmCgnp1FUU47PeH3T0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1593056091083672.450358801765; Wed, 24 Jun 2020 20:34:51 -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-271-RJsL9FOrP3C6AAT3NAWhkA-1; Wed, 24 Jun 2020 23:34:47 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E299618A0769; Thu, 25 Jun 2020 03:34:38 +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 C41A37FEA5; Thu, 25 Jun 2020 03:34:38 +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 94762180530A; Thu, 25 Jun 2020 03:34:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YWSt007901 for ; Wed, 24 Jun 2020 23:34:32 -0400 Received: by smtp.corp.redhat.com (Postfix) id 8A5225BAC0; Thu, 25 Jun 2020 03:34:32 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 44BF47FD07 for ; Thu, 25 Jun 2020 03:34:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056089; 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=WubazXtvLzFkgAfVSnJtYpTVQtXk74v/JhkfEU6l1Ho=; b=EicJ6hq8tLYtN8s6o0ehPlx8VDN8ZM3Rvxr0vBdMC+n7pwlRrkHeVqzhOJ75X7rjbvqxFP PGRJUxu2TuFnizQwd39M7S/zTZLXDrwUkogYBhGHjhp/HU8iMTh9Wf806KdqdBKisdupVe 8lok5PBzKrWtsrmUCyUYM6BHClMQVK4= X-MC-Unique: RJsL9FOrP3C6AAT3NAWhkA-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 17/25] use g_autoptr() for all usages of virFirewallNew/Free Date: Wed, 24 Jun 2020 23:34:06 -0400 Message-Id: <20200625033414.1819594-18-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Laine Stump --- src/nwfilter/nwfilter_ebiptables_driver.c | 63 +++++++---------------- src/util/virebtables.c | 24 ++------- src/util/viriptables.c | 14 ++--- tests/virfirewalltest.c | 50 ++++-------------- 4 files changed, 35 insertions(+), 116 deletions(-) diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfil= ter_ebiptables_driver.c index 6fc8044c8d..8b77578117 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -2863,7 +2863,7 @@ static int ebtablesApplyBasicRules(const char *ifname, const virMacAddr *macaddr) { - virFirewallPtr fw =3D virFirewallNew(); + g_autoptr(virFirewall) fw =3D virFirewallNew(); char chain[MAX_CHAINNAME_LENGTH]; char chainPrefix =3D CHAINPREFIX_HOST_IN_TEMP; char macaddr_str[VIR_MAC_STRING_BUFLEN]; @@ -2871,7 +2871,7 @@ ebtablesApplyBasicRules(const char *ifname, virMacAddrFormat(macaddr, macaddr_str); =20 if (ebiptablesAllTeardown(ifname) < 0) - goto error; + return -1; =20 virFirewallStartTransaction(fw, 0); =20 @@ -2900,13 +2900,10 @@ ebtablesApplyBasicRules(const char *ifname, if (virFirewallApply(fw) < 0) goto tear_down_tmpebchains; =20 - virFirewallFree(fw); return 0; =20 tear_down_tmpebchains: ebtablesCleanAll(ifname); - error: - virFirewallFree(fw); return -1; } =20 @@ -2939,12 +2936,12 @@ ebtablesApplyDHCPOnlyRules(const char *ifname, char macaddr_str[VIR_MAC_STRING_BUFLEN]; unsigned int idx =3D 0; unsigned int num_dhcpsrvrs; - virFirewallPtr fw =3D virFirewallNew(); + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 virMacAddrFormat(macaddr, macaddr_str); =20 if (ebiptablesAllTeardown(ifname) < 0) - goto error; + return -1; =20 virFirewallStartTransaction(fw, 0); =20 @@ -3019,14 +3016,10 @@ ebtablesApplyDHCPOnlyRules(const char *ifname, if (virFirewallApply(fw) < 0) goto tear_down_tmpebchains; =20 - virFirewallFree(fw); - return 0; =20 tear_down_tmpebchains: ebtablesCleanAll(ifname); - error: - virFirewallFree(fw); return -1; } =20 @@ -3045,10 +3038,10 @@ ebtablesApplyDropAllRules(const char *ifname) { char chain_in [MAX_CHAINNAME_LENGTH], chain_out[MAX_CHAINNAME_LENGTH]; - virFirewallPtr fw =3D virFirewallNew(); + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 if (ebiptablesAllTeardown(ifname) < 0) - goto error; + return -1; =20 virFirewallStartTransaction(fw, 0); =20 @@ -3074,13 +3067,10 @@ ebtablesApplyDropAllRules(const char *ifname) if (virFirewallApply(fw) < 0) goto tear_down_tmpebchains; =20 - virFirewallFree(fw); return 0; =20 tear_down_tmpebchains: ebtablesCleanAll(ifname); - error: - virFirewallFree(fw); return -1; } =20 @@ -3095,8 +3085,7 @@ ebtablesRemoveBasicRules(const char *ifname) static int ebtablesCleanAll(const char *ifname) { - virFirewallPtr fw =3D virFirewallNew(); - int ret =3D -1; + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS= ); =20 @@ -3112,9 +3101,7 @@ ebtablesCleanAll(const char *ifname) ebtablesRemoveTmpRootChainFW(fw, true, ifname); ebtablesRemoveTmpRootChainFW(fw, false, ifname); =20 - ret =3D virFirewallApply(fw); - virFirewallFree(fw); - return ret; + return virFirewallApply(fw); } =20 =20 @@ -3362,7 +3349,7 @@ ebiptablesApplyNewRules(const char *ifname, size_t nrules) { size_t i, j; - virFirewallPtr fw =3D virFirewallNew(); + g_autoptr(virFirewall) fw =3D virFirewallNew(); virHashTablePtr chains_in_set =3D virHashCreate(10, NULL); virHashTablePtr chains_out_set =3D virHashCreate(10, NULL); bool haveEbtables =3D false; @@ -3563,7 +3550,6 @@ ebiptablesApplyNewRules(const char *ifname, for (i =3D 0; i < nsubchains; i++) VIR_FREE(subchains[i]); VIR_FREE(subchains); - virFirewallFree(fw); virHashFree(chains_in_set); virHashFree(chains_out_set); =20 @@ -3591,23 +3577,19 @@ ebiptablesTearNewRulesFW(virFirewallPtr fw, const c= har *ifname) static int ebiptablesTearNewRules(const char *ifname) { - virFirewallPtr fw =3D virFirewallNew(); - int ret =3D -1; + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS= ); =20 ebiptablesTearNewRulesFW(fw, ifname); =20 - ret =3D virFirewallApply(fw); - virFirewallFree(fw); - return ret; + return virFirewallApply(fw); } =20 static int ebiptablesTearOldRules(const char *ifname) { - virFirewallPtr fw =3D virFirewallNew(); - int ret =3D -1; + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS= ); =20 @@ -3626,9 +3608,7 @@ ebiptablesTearOldRules(const char *ifname) ebtablesRemoveRootChainFW(fw, false, ifname); ebtablesRenameTmpSubAndRootChainsFW(fw, ifname); =20 - ret =3D virFirewallApply(fw); - virFirewallFree(fw); - return ret; + return virFirewallApply(fw); } =20 =20 @@ -3644,8 +3624,7 @@ ebiptablesTearOldRules(const char *ifname) static int ebiptablesAllTeardown(const char *ifname) { - virFirewallPtr fw =3D virFirewallNew(); - int ret =3D -1; + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS= ); =20 @@ -3667,9 +3646,7 @@ ebiptablesAllTeardown(const char *ifname) ebtablesRemoveRootChainFW(fw, true, ifname); ebtablesRemoveRootChainFW(fw, false, ifname); =20 - ret =3D virFirewallApply(fw); - virFirewallFree(fw); - return ret; + return virFirewallApply(fw); } =20 =20 @@ -3754,8 +3731,7 @@ static int ebiptablesDriverProbeStateMatch(void) { unsigned long version; - virFirewallPtr fw =3D virFirewallNew(); - int ret =3D -1; + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 virFirewallStartTransaction(fw, 0); virFirewallAddRuleFull(fw, VIR_FIREWALL_LAYER_IPV4, @@ -3763,7 +3739,7 @@ ebiptablesDriverProbeStateMatch(void) "--version", NULL); =20 if (virFirewallApply(fw) < 0) - goto cleanup; + return -1; =20 /* * since version 1.4.16 '-m state --state ...' will be converted to @@ -3772,10 +3748,7 @@ ebiptablesDriverProbeStateMatch(void) if (version >=3D 1 * 1000000 + 4 * 1000 + 16) newMatchState =3D true; =20 - ret =3D 0; - cleanup: - virFirewallFree(fw); - return ret; + return 0; } =20 static int diff --git a/src/util/virebtables.c b/src/util/virebtables.c index 14a922834a..610c399414 100644 --- a/src/util/virebtables.c +++ b/src/util/virebtables.c @@ -82,10 +82,8 @@ ebtablesContextFree(ebtablesContext *ctx) int ebtablesAddForwardPolicyReject(ebtablesContext *ctx) { - virFirewallPtr fw =3D NULL; - int ret =3D -1; + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 - fw =3D virFirewallNew(); virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS= ); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_ETHERNET, "--new-chain", ctx->chain, @@ -99,13 +97,7 @@ ebtablesAddForwardPolicyReject(ebtablesContext *ctx) "-P", ctx->chain, "DROP", NULL); =20 - if (virFirewallApply(fw) < 0) - goto cleanup; - - ret =3D 0; - cleanup: - virFirewallFree(fw); - return ret; + return virFirewallApply(fw); } =20 =20 @@ -118,10 +110,8 @@ ebtablesForwardAllowIn(ebtablesContext *ctx, const char *macaddr, int action) { - virFirewallPtr fw =3D NULL; - int ret =3D -1; + g_autoptr(virFirewall) fw =3D virFirewallNew(); =20 - fw =3D virFirewallNew(); virFirewallStartTransaction(fw, 0); virFirewallAddRule(fw, VIR_FIREWALL_LAYER_ETHERNET, action =3D=3D ADD ? "--insert" : "--delete", @@ -131,13 +121,7 @@ ebtablesForwardAllowIn(ebtablesContext *ctx, "--jump", "ACCEPT", NULL); =20 - if (virFirewallApply(fw) < 0) - goto cleanup; - - ret =3D 0; - cleanup: - virFirewallFree(fw); - return ret; + return virFirewallApply(fw); } =20 /** diff --git a/src/util/viriptables.c b/src/util/viriptables.c index 8ccce835b2..b5dd2edbd3 100644 --- a/src/util/viriptables.c +++ b/src/util/viriptables.c @@ -128,8 +128,7 @@ iptablesPrivateChainCreate(virFirewallPtr fw, int iptablesSetupPrivateChains(virFirewallLayer layer) { - virFirewallPtr fw =3D NULL; - int ret =3D -1; + g_autoptr(virFirewall) fw =3D virFirewallNew(); iptablesGlobalChain filter_chains[] =3D { {"INPUT", "LIBVIRT_INP"}, {"OUTPUT", "LIBVIRT_OUT"}, @@ -151,8 +150,6 @@ iptablesSetupPrivateChains(virFirewallLayer layer) }; size_t i; =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 for (i =3D 0; i < G_N_ELEMENTS(data); i++) @@ -162,14 +159,9 @@ iptablesSetupPrivateChains(virFirewallLayer layer) "--list-rules", NULL); =20 if (virFirewallApply(fw) < 0) - goto cleanup; - - ret =3D changed ? 1 : 0; - - cleanup: + return -1; =20 - virFirewallFree(fw); - return ret; + return changed ? 1 : 0; } =20 =20 diff --git a/tests/virfirewalltest.c b/tests/virfirewalltest.c index c4827918c3..a11cbe0e23 100644 --- a/tests/virfirewalltest.c +++ b/tests/virfirewalltest.c @@ -200,7 +200,7 @@ static int testFirewallSingleGroup(const void *opaque) { virBuffer cmdbuf =3D VIR_BUFFER_INITIALIZER; - virFirewallPtr fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); int ret =3D -1; const char *actual =3D NULL; const char *expected =3D @@ -217,8 +217,6 @@ testFirewallSingleGroup(const void *opaque) else fwBuf =3D &cmdbuf; =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -247,7 +245,6 @@ testFirewallSingleGroup(const void *opaque) virBufferFreeAndReset(&cmdbuf); fwBuf =3D NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } =20 @@ -256,7 +253,7 @@ static int testFirewallRemoveRule(const void *opaque) { virBuffer cmdbuf =3D VIR_BUFFER_INITIALIZER; - virFirewallPtr fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); int ret =3D -1; const char *actual =3D NULL; const char *expected =3D @@ -274,8 +271,6 @@ testFirewallRemoveRule(const void *opaque) else fwBuf =3D &cmdbuf; =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -310,7 +305,6 @@ testFirewallRemoveRule(const void *opaque) virBufferFreeAndReset(&cmdbuf); fwBuf =3D NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } =20 @@ -319,7 +313,7 @@ static int testFirewallManyGroups(const void *opaque G_GNUC_UNUSED) { virBuffer cmdbuf =3D VIR_BUFFER_INITIALIZER; - virFirewallPtr fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); int ret =3D -1; const char *actual =3D NULL; const char *expected =3D @@ -338,8 +332,6 @@ testFirewallManyGroups(const void *opaque G_GNUC_UNUSED) else fwBuf =3D &cmdbuf; =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -380,7 +372,6 @@ testFirewallManyGroups(const void *opaque G_GNUC_UNUSED) virBufferFreeAndReset(&cmdbuf); fwBuf =3D NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } =20 @@ -410,7 +401,7 @@ static int testFirewallIgnoreFailGroup(const void *opaque G_GNUC_UNUSED) { virBuffer cmdbuf =3D VIR_BUFFER_INITIALIZER; - virFirewallPtr fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); int ret =3D -1; const char *actual =3D NULL; const char *expected =3D @@ -431,8 +422,6 @@ testFirewallIgnoreFailGroup(const void *opaque G_GNUC_U= NUSED) fwError =3D true; } =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, VIR_FIREWALL_TRANSACTION_IGNORE_ERRORS= ); =20 virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -473,7 +462,6 @@ testFirewallIgnoreFailGroup(const void *opaque G_GNUC_U= NUSED) virBufferFreeAndReset(&cmdbuf); fwBuf =3D NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } =20 @@ -482,7 +470,7 @@ static int testFirewallIgnoreFailRule(const void *opaque G_GNUC_UNUSED) { virBuffer cmdbuf =3D VIR_BUFFER_INITIALIZER; - virFirewallPtr fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); int ret =3D -1; const char *actual =3D NULL; const char *expected =3D @@ -503,8 +491,6 @@ testFirewallIgnoreFailRule(const void *opaque G_GNUC_UN= USED) fwError =3D true; } =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -544,7 +530,6 @@ testFirewallIgnoreFailRule(const void *opaque G_GNUC_UN= USED) virBufferFreeAndReset(&cmdbuf); fwBuf =3D NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } =20 @@ -553,7 +538,7 @@ static int testFirewallNoRollback(const void *opaque G_GNUC_UNUSED) { virBuffer cmdbuf =3D VIR_BUFFER_INITIALIZER; - virFirewallPtr fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); int ret =3D -1; const char *actual =3D NULL; const char *expected =3D @@ -572,8 +557,6 @@ testFirewallNoRollback(const void *opaque G_GNUC_UNUSED) fwError =3D true; } =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -609,7 +592,6 @@ testFirewallNoRollback(const void *opaque G_GNUC_UNUSED) virBufferFreeAndReset(&cmdbuf); fwBuf =3D NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } =20 @@ -617,7 +599,7 @@ static int testFirewallSingleRollback(const void *opaque G_GNUC_UNUSED) { virBuffer cmdbuf =3D VIR_BUFFER_INITIALIZER; - virFirewallPtr fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); int ret =3D -1; const char *actual =3D NULL; const char *expected =3D @@ -639,8 +621,6 @@ testFirewallSingleRollback(const void *opaque G_GNUC_UN= USED) fwBuf =3D &cmdbuf; } =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -693,7 +673,6 @@ testFirewallSingleRollback(const void *opaque G_GNUC_UN= USED) virBufferFreeAndReset(&cmdbuf); fwBuf =3D NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } =20 @@ -701,7 +680,7 @@ static int testFirewallManyRollback(const void *opaque G_GNUC_UNUSED) { virBuffer cmdbuf =3D VIR_BUFFER_INITIALIZER; - virFirewallPtr fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); int ret =3D -1; const char *actual =3D NULL; const char *expected =3D @@ -722,8 +701,6 @@ testFirewallManyRollback(const void *opaque G_GNUC_UNUS= ED) fwError =3D true; } =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -780,7 +757,6 @@ testFirewallManyRollback(const void *opaque G_GNUC_UNUS= ED) virBufferFreeAndReset(&cmdbuf); fwBuf =3D NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } =20 @@ -788,7 +764,7 @@ static int testFirewallChainedRollback(const void *opaque G_GNUC_UNUSED) { virBuffer cmdbuf =3D VIR_BUFFER_INITIALIZER; - virFirewallPtr fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); int ret =3D -1; const char *actual =3D NULL; const char *expected =3D @@ -813,8 +789,6 @@ testFirewallChainedRollback(const void *opaque G_GNUC_U= NUSED) fwError =3D true; } =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -897,7 +871,6 @@ testFirewallChainedRollback(const void *opaque G_GNUC_U= NUSED) virBufferFreeAndReset(&cmdbuf); fwBuf =3D NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } =20 @@ -982,7 +955,7 @@ static int testFirewallQuery(const void *opaque G_GNUC_UNUSED) { virBuffer cmdbuf =3D VIR_BUFFER_INITIALIZER; - virFirewallPtr fw =3D NULL; + g_autoptr(virFirewall) fw =3D virFirewallNew(); int ret =3D -1; const char *actual =3D NULL; const char *expected =3D @@ -1010,8 +983,6 @@ testFirewallQuery(const void *opaque G_GNUC_UNUSED) fwError =3D true; } =20 - fw =3D virFirewallNew(); - virFirewallStartTransaction(fw, 0); =20 virFirewallAddRule(fw, VIR_FIREWALL_LAYER_IPV4, @@ -1076,7 +1047,6 @@ testFirewallQuery(const void *opaque G_GNUC_UNUSED) virBufferFreeAndReset(&cmdbuf); fwBuf =3D NULL; virCommandSetDryRun(NULL, NULL, NULL); - virFirewallFree(fw); return ret; } =20 --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1593056094; cv=none; d=zohomail.com; s=zohoarc; b=QeuK939cpu7+ewNL4srnoZkWIruWGLfoBFNfV20DfV1nfvXWt7O5BvAdkbVOmaHdY8u8FCQpLxcdw9Bp0BZAAyFqLPynGT2qIavh4pb4eymbcgDQiCyeU4B1tzyAasZfutw6gpB9KIcJmHHgtqCVzSQJnUebu7UV+7isfiJfpR0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056094; 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=kxTGmcUxZyRFhdov49tXeAwUrQaxRihZbU9ZbTXtFhs=; b=RuncIeg7xb3VeytDy4QvwnlLbSR5JO8z+kgmxf0d4i78OknJFGLmM8L6O48Vq5fmEaSwKkL6HayWWltIDgN3w84y/REW0fS/VrNBO0JT4nKGyx9sTeYhU1A3Mld1cjO50uJBj7bu1TiKJZImJJppEbVKfKxXnok+KOqaYAdEfxw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1593056094759157.16192664864036; Wed, 24 Jun 2020 20:34:54 -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-259-IPUGLhTpPxmijD8AIle5KQ-1; Wed, 24 Jun 2020 23:34:49 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2ACF31085984; Thu, 25 Jun 2020 03:34:41 +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 0997B9F77; Thu, 25 Jun 2020 03:34:41 +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 D1A76875A9; Thu, 25 Jun 2020 03:34:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YXC3007909 for ; Wed, 24 Jun 2020 23:34:33 -0400 Received: by smtp.corp.redhat.com (Postfix) id 03FEE7FD07; Thu, 25 Jun 2020 03:34:33 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id B47105BAC6 for ; Thu, 25 Jun 2020 03:34:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056093; 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=kxTGmcUxZyRFhdov49tXeAwUrQaxRihZbU9ZbTXtFhs=; b=TCqWy8u4Wk5J41u4ea5Pnqz/RQ4Gpyuz1nmmI26Ey4ymt3yriyom8wMPprWRVAyosJfqoz AVldUR2GiVV8DSQczS+12EgmXDBKqX23UHi1yWAZA1nONXfqYvZEL/PLOcssNVujZerQ8v zC0OxDpYqaq/YunvBeFYnlS+d0+/cxA= X-MC-Unique: IPUGLhTpPxmijD8AIle5KQ-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 18/25] nwfilter: define a typedef for struct ebtablesSubChainInst Date: Wed, 24 Jun 2020 23:34:07 -0400 Message-Id: <20200625033414.1819594-19-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Laine Stump --- src/nwfilter/nwfilter_ebiptables_driver.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfil= ter_ebiptables_driver.c index 8b77578117..cc814235aa 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -3274,7 +3274,9 @@ ebtablesRuleInstCommand(virFirewallPtr fw, return ret; } =20 -struct ebtablesSubChainInst { +typedef struct _ebtablesSubChainInst ebtablesSubChainInst; +typedef ebtablesSubChainInst *ebtablesSubChainInstPtr; +struct _ebtablesSubChainInst { virNWFilterChainPriority priority; bool incoming; enum l3_proto_idx protoidx; @@ -3285,8 +3287,8 @@ struct ebtablesSubChainInst { static int ebtablesSubChainInstSort(const void *a, const void *b) { - const struct ebtablesSubChainInst **insta =3D (const struct ebtablesSu= bChainInst **)a; - const struct ebtablesSubChainInst **instb =3D (const struct ebtablesSu= bChainInst **)b; + const ebtablesSubChainInst **insta =3D (const ebtablesSubChainInst **)= a; + const ebtablesSubChainInst **instb =3D (const ebtablesSubChainInst **)= b; =20 /* priorities are limited to range [-1000, 1000] */ return (*insta)->priority - (*instb)->priority; @@ -3296,7 +3298,7 @@ ebtablesSubChainInstSort(const void *a, const void *b) static int ebtablesGetSubChainInsts(virHashTablePtr chains, bool incoming, - struct ebtablesSubChainInst ***insts, + ebtablesSubChainInstPtr **insts, size_t *ninsts) { virHashKeyValuePairPtr filter_names; @@ -3309,7 +3311,7 @@ ebtablesGetSubChainInsts(virHashTablePtr chains, return -1; =20 for (i =3D 0; filter_names[i].key; i++) { - struct ebtablesSubChainInst *inst; + ebtablesSubChainInstPtr inst; enum l3_proto_idx idx =3D ebtablesGetProtoIdxByFiltername( filter_names[i].key); =20 @@ -3355,7 +3357,7 @@ ebiptablesApplyNewRules(const char *ifname, bool haveEbtables =3D false; bool haveIptables =3D false; bool haveIp6tables =3D false; - struct ebtablesSubChainInst **subchains =3D NULL; + ebtablesSubChainInstPtr *subchains =3D NULL; size_t nsubchains =3D 0; int ret =3D -1; =20 --=20 2.25.4 From nobody Tue Apr 23 20:52:49 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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=1593056164; cv=none; d=zohomail.com; s=zohoarc; b=dd5V5SeCIsQtciZzOQE/SzC7YSHiSGgEkImkIuF5AjETzfQYDVxJkmTT4qha0FrYFJ23LQlxBcamXUOEnQy+/UARo+STVyq/DXcu6UtmCOwiv36aGVbTFndx4mnOLOzY9YInoKl+OnAuL7WmwwaX0CE14S/g+fwsIHvElxLFQEM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056164; 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=a2PkjNwgQXytetx2HCaMW624JFMZv19ja4smRWoe8UM=; b=TJUDLQp+BBLicaYqPzPE41aal9M43PLpO/4512hZ6Uoh3krP5ssuEq2dL+6hAHGdRivbf9xKx2l62mGd0sVp5kMNet7jMfh4LssUmKVgi/pLzbl1zenCnbWGHdjSQibt/mqyYhrbv8qbSLdb0Tk8LK1zVpPF8Er7YmbtdhOy6ik= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 159305616462498.6921678947308; Wed, 24 Jun 2020 20:36:04 -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-454-59v94hp4NVm80u4EL_ET3A-1; Wed, 24 Jun 2020 23:34:48 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A0EDB107ACF9; Thu, 25 Jun 2020 03:34:40 +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 835B95C557; Thu, 25 Jun 2020 03:34:40 +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 56AFC180530E; Thu, 25 Jun 2020 03:34:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YXQZ007916 for ; Wed, 24 Jun 2020 23:34:33 -0400 Received: by smtp.corp.redhat.com (Postfix) id 735705BAC9; Thu, 25 Jun 2020 03:34:33 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2F5735BAC6 for ; Thu, 25 Jun 2020 03:34:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056163; 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=a2PkjNwgQXytetx2HCaMW624JFMZv19ja4smRWoe8UM=; b=cqD5uzMvZXPnsuVAJXVFMWnCbLOE5x9RZIQCd+28MkMVOUP0Daf6KRFfjHYb/Lw3+T7nkJ h0KRiAqRfBqzEJdjebL1UBELDKtfnHh1Hjpzm2Vb2o2CQM+uil/hb5/6qdb5126nvZOesv n4gakp0sZe3Nqwz5xKeHqojRGzp5g9k= X-MC-Unique: 59v94hp4NVm80u4EL_ET3A-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 19/25] nwfilter replace VIR_ALLOC with g_new0 Date: Wed, 24 Jun 2020 23:34:08 -0400 Message-Id: <20200625033414.1819594-20-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Laine Stump --- src/nwfilter/nwfilter_dhcpsnoop.c | 9 +++------ src/nwfilter/nwfilter_driver.c | 3 +-- src/nwfilter/nwfilter_ebiptables_driver.c | 3 +-- src/nwfilter/nwfilter_gentech_driver.c | 3 +-- src/nwfilter/nwfilter_learnipaddr.c | 6 ++---- 5 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/nwfilter/nwfilter_dhcpsnoop.c b/src/nwfilter/nwfilter_dhcp= snoop.c index f530341872..f54e1a88e0 100644 --- a/src/nwfilter/nwfilter_dhcpsnoop.c +++ b/src/nwfilter/nwfilter_dhcpsnoop.c @@ -562,8 +562,7 @@ virNWFilterSnoopReqNew(const char *ifkey) return NULL; } =20 - if (VIR_ALLOC(req) < 0) - return NULL; + req =3D g_new0(virNWFilterSnoopReq, 1); =20 req->threadStatus =3D THREAD_STATUS_NONE; =20 @@ -737,8 +736,7 @@ virNWFilterSnoopReqLeaseAdd(virNWFilterSnoopReqPtr req, =20 virNWFilterSnoopReqUnlock(req); =20 - if (VIR_ALLOC(pl) < 0) - return -1; + pl =3D g_new0(virNWFilterSnoopIPLease, 1); *pl =3D *plnew; =20 /* protect req->threadkey */ @@ -1160,8 +1158,7 @@ virNWFilterSnoopDHCPDecodeJobSubmit(virThreadPoolPtr = pool, if (len <=3D MIN_VALID_DHCP_PKT_SIZE || len > sizeof(job->packet)) return 0; =20 - if (VIR_ALLOC(job) < 0) - return -1; + job =3D g_new0(virNWFilterDHCPDecodeJob, 1); =20 memcpy(job->packet, pep, len); job->caplen =3D len; diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c index 1c407727db..39d0a2128e 100644 --- a/src/nwfilter/nwfilter_driver.c +++ b/src/nwfilter/nwfilter_driver.c @@ -193,8 +193,7 @@ nwfilterStateInitialize(bool privileged, !(sysbus =3D virDBusGetSystemBus())) return VIR_DRV_STATE_INIT_ERROR; =20 - if (VIR_ALLOC(driver) < 0) - return VIR_DRV_STATE_INIT_ERROR; + driver =3D g_new0(virNWFilterDriverState, 1); =20 driver->lockFD =3D -1; if (virMutexInit(&driver->lock) < 0) diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfil= ter_ebiptables_driver.c index cc814235aa..89c131e17f 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -3318,8 +3318,7 @@ ebtablesGetSubChainInsts(virHashTablePtr chains, if ((int)idx < 0) continue; =20 - if (VIR_ALLOC(inst) < 0) - goto cleanup; + inst =3D g_new0(ebtablesSubChainInst, 1); inst->priority =3D *(const virNWFilterChainPriority *)filter_names= [i].value; inst->incoming =3D incoming; inst->protoidx =3D idx; diff --git a/src/nwfilter/nwfilter_gentech_driver.c b/src/nwfilter/nwfilter= _gentech_driver.c index 6789a4a3fa..8ba555358d 100644 --- a/src/nwfilter/nwfilter_gentech_driver.c +++ b/src/nwfilter/nwfilter_gentech_driver.c @@ -261,8 +261,7 @@ virNWFilterRuleDefToRuleInst(virNWFilterDefPtr def, virNWFilterRuleInstPtr ruleinst; int ret =3D -1; =20 - if (VIR_ALLOC(ruleinst) < 0) - goto cleanup; + ruleinst =3D g_new0(virNWFilterRuleInst, 1); =20 ruleinst->chainSuffix =3D def->chainsuffix; ruleinst->chainPriority =3D def->chainPriority; diff --git a/src/nwfilter/nwfilter_learnipaddr.c b/src/nwfilter/nwfilter_le= arnipaddr.c index 4ce8d5ba03..3bb8c27167 100644 --- a/src/nwfilter/nwfilter_learnipaddr.c +++ b/src/nwfilter/nwfilter_learnipaddr.c @@ -151,8 +151,7 @@ virNWFilterLockIface(const char *ifname) =20 ifaceLock =3D virHashLookup(ifaceLockMap, ifname); if (!ifaceLock) { - if (VIR_ALLOC(ifaceLock) < 0) - goto err_exit; + ifaceLock =3D g_new0(virNWFilterIfaceLock, 1); =20 if (virMutexInitRecursive(&ifaceLock->lock) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", @@ -718,8 +717,7 @@ virNWFilterLearnIPAddress(virNWFilterTechDriverPtr tech= driver, return -1; } =20 - if (VIR_ALLOC(req) < 0) - return -1; + req =3D g_new0(virNWFilterIPAddrLearnReq, 1); =20 if (!(req->binding =3D virNWFilterBindingDefCopy(binding))) goto err_free_req; --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1593056230; cv=none; d=zohomail.com; s=zohoarc; b=adaZIgE5QVYpxGqbUjc/3mGA0Vwz5uC5A3DWX5+0nwumfaeYZsJ2kywn1fpIv7bexN2hZbErqC9e2z2vcJ2HRdPFsiZJZVhdfkb8hbcKs6Om0Jq0qxPRgerZj2KfV63SRm9S0YXbts784GH8bbR4/ZGvjYyTL70SLDAMGs/v6+s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056230; 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=/Eq9TihiAfZUMDyfhxCDxCYvyX/lCntZwgWQjry+C/M=; b=bT14follYevGM8UV/hMXQCif4aRP2+TXc4rLD2V+G1ivgfJo0S9E3yP2Uo/wAP+hAoiF/nHyJgQZAdorhgKXtqQkV+ttVgZ3ruwSFf0+FVadR67lno0NAfV0mKlRM/TXs4cBy1NNKReMlpGUYf9kaHHTgzlDlNTfoDbMWa1L+mE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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 [207.211.31.81]) by mx.zohomail.com with SMTPS id 1593056230056928.3140889738111; Wed, 24 Jun 2020 20:37:10 -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-304-27f3feEOORKyz2jt2sECjg-1; Wed, 24 Jun 2020 23:34:48 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 32C51EC1A7; Thu, 25 Jun 2020 03:34:43 +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 0B2AC4F6AE; Thu, 25 Jun 2020 03:34:43 +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 A869F875AE; Thu, 25 Jun 2020 03:34:42 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YXD0007926 for ; Wed, 24 Jun 2020 23:34:33 -0400 Received: by smtp.corp.redhat.com (Postfix) id E2C7D5BAC9; Thu, 25 Jun 2020 03:34:33 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9EBAD5BAC6 for ; Thu, 25 Jun 2020 03:34:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056228; 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=/Eq9TihiAfZUMDyfhxCDxCYvyX/lCntZwgWQjry+C/M=; b=PbmzUKWuZx3Vzbbuc0Cu1EyqY5I+xg0OXM4u8R3mDvlKKAwWCwkJb+9uK1vMFGei3e5qkh h+vBqOCFXX+0jdSBeAX3wXyN+v9ERFwAGsc3/Lhhzg5Yzyy99yk6nUyRHu7L4sA/dOFew1 GQyn0FpL6lHPgdh4+uT2Q5bOdr+Qbx0= X-MC-Unique: 27f3feEOORKyz2jt2sECjg-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 20/25] nwfilter: remove unnecessary code from ebtablesGetSubChainInsts() Date: Wed, 24 Jun 2020 23:34:09 -0400 Message-Id: <20200625033414.1819594-21-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" On failure, this function would clear out and free the list of subchains it had been called with. This is unnecessary, because the *only* caller of this function will also clear out and free the list of subchains if it gets a failure from ebtablesGetSubChainInsts(). (It also makes more logical sense for the function that is creating the entire list to be the one freeing the entire list, rather than having a function whose purpose is only to create *one item* on the list freeing the entire list). Signed-off-by: Laine Stump --- src/nwfilter/nwfilter_ebiptables_driver.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfil= ter_ebiptables_driver.c index 89c131e17f..8fdc8e8897 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -3334,12 +3334,6 @@ ebtablesGetSubChainInsts(virHashTablePtr chains, =20 cleanup: VIR_FREE(filter_names); - if (ret < 0) { - for (i =3D 0; i < *ninsts; i++) - VIR_FREE(*insts[i]); - VIR_FREE(*insts); - *ninsts =3D 0; - } return ret; =20 } --=20 2.25.4 From nobody Tue Apr 23 20:52:49 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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=1593056174; cv=none; d=zohomail.com; s=zohoarc; b=Co50sMZDH+xCRxgsRfZj1tx1/3zpH6bAOalv6tgpMKflB7btqDNX9oSSo4KT/Hv8N0XzHnmB3SMGR6VxTlUVKVlKyMo/sDtqzyUqXaWdYP8z8416Wi2z7H42RGJLqQ00OV7ra7w/o5iLCPd2TmW8zqi6wam7Fz/Qkg5Y3ITu8h0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056174; 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=wCI/4gCQtqNkpwOjNezOOFCaSPG4c1TXewMPJMrsBe8=; b=Y5vwphTmo4Q/Fhulzav6R7OvVy2MdVBAdxjvg0mJ6PEqDaUDGRar8eX0NBipp0f5r56lYb19xvQPE/RdiPJEF6jYBaeGklbDEkoyJLz6ykWr24nhhMKlw4YwtqkfS68xV76999KitHZTi8Mcfs/ALbh8FTchcqiX+XHm6FfVlkk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 159305617401620.032721685877732; Wed, 24 Jun 2020 20:36:14 -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-426-XwMu5G6LNhuK6jvek_LfKw-1; Wed, 24 Jun 2020 23:34:48 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 738448018AB; Thu, 25 Jun 2020 03:34:43 +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 50E456109F; Thu, 25 Jun 2020 03:34:43 +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 1FC6E875B2; Thu, 25 Jun 2020 03:34:43 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YYLq007932 for ; Wed, 24 Jun 2020 23:34:34 -0400 Received: by smtp.corp.redhat.com (Postfix) id 62E3C5BAC9; Thu, 25 Jun 2020 03:34:34 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1B69F5BAC6 for ; Thu, 25 Jun 2020 03:34:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056172; 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=wCI/4gCQtqNkpwOjNezOOFCaSPG4c1TXewMPJMrsBe8=; b=Doghs1sUWTdAHL0eNX/ntIc8GEJ/jLvZ9C6SBBgxB89I29AMI3nWHrepp3aURGqEi+4HNn X6cyL2X3TRTbEnSS5t165QavwOXE+t7n8HBdWesJGv89Jn3WFLoFyrTs+/HugWpa3sKabc NArkiFgdN2c7XOTpK8DL6OSNaWCm2Kk= X-MC-Unique: XwMu5G6LNhuK6jvek_LfKw-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 21/25] nwfilter: convert local pointers to use g_auto* Date: Wed, 24 Jun 2020 23:34:10 -0400 Message-Id: <20200625033414.1819594-22-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Laine Stump --- src/nwfilter/nwfilter_dhcpsnoop.c | 91 ++++-------- src/nwfilter/nwfilter_ebiptables_driver.c | 170 +++++++++------------- src/nwfilter/nwfilter_gentech_driver.c | 19 +-- src/nwfilter/nwfilter_learnipaddr.c | 9 +- 4 files changed, 108 insertions(+), 181 deletions(-) diff --git a/src/nwfilter/nwfilter_dhcpsnoop.c b/src/nwfilter/nwfilter_dhcp= snoop.c index f54e1a88e0..32cd6492ad 100644 --- a/src/nwfilter/nwfilter_dhcpsnoop.c +++ b/src/nwfilter/nwfilter_dhcpsnoop.c @@ -292,18 +292,17 @@ static const unsigned char dhcp_magic[4] =3D { 99, 13= 0, 83, 99 }; static char * virNWFilterSnoopActivate(virNWFilterSnoopReqPtr req) { - char *key; - - key =3D g_strdup_printf("%p-%d", req, req->ifindex); + g_autofree char *key =3D g_strdup_printf("%p-%d", req, req->ifindex); + char *ret =3D NULL; =20 virNWFilterSnoopActiveLock(); =20 - if (virHashAddEntry(virNWFilterSnoopState.active, key, (void *)0x1) < = 0) - VIR_FREE(key); + if (virHashAddEntry(virNWFilterSnoopState.active, key, (void *)0x1) = =3D=3D 0) + ret =3D g_steal_pointer(&key); =20 virNWFilterSnoopActiveUnlock(); =20 - return key; + return ret; } =20 static void @@ -442,11 +441,10 @@ static int virNWFilterSnoopIPLeaseInstallRule(virNWFilterSnoopIPLeasePtr ipl, bool instantiate) { - char *ipaddr; + g_autofree char *ipaddr =3D virSocketAddrFormat(&ipl->ipAddress); int rc =3D -1; virNWFilterSnoopReqPtr req; =20 - ipaddr =3D virSocketAddrFormat(&ipl->ipAddress); if (!ipaddr) return -1; =20 @@ -473,9 +471,6 @@ virNWFilterSnoopIPLeaseInstallRule(virNWFilterSnoopIPLe= asePtr ipl, =20 exit_snooprequnlock: virNWFilterSnoopReqUnlock(req); - - VIR_FREE(ipaddr); - return rc; } =20 @@ -551,7 +546,7 @@ virNWFilterSnoopReqGet(virNWFilterSnoopReqPtr req) static virNWFilterSnoopReqPtr virNWFilterSnoopReqNew(const char *ifkey) { - virNWFilterSnoopReqPtr req; + g_autofree virNWFilterSnoopReqPtr req =3D g_new0(virNWFilterSnoopReq, = 1); =20 if (ifkey =3D=3D NULL || strlen(ifkey) !=3D VIR_IFKEY_LEN - 1) { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -562,28 +557,20 @@ virNWFilterSnoopReqNew(const char *ifkey) return NULL; } =20 - req =3D g_new0(virNWFilterSnoopReq, 1); - req->threadStatus =3D THREAD_STATUS_NONE; =20 - if (virStrcpyStatic(req->ifkey, ifkey) < 0|| - virMutexInitRecursive(&req->lock) < 0) - goto err_free_req; + if (virStrcpyStatic(req->ifkey, ifkey) < 0 || + virMutexInitRecursive(&req->lock) < 0) { + return NULL; + } =20 - if (virCondInit(&req->threadStatusCond) < 0) - goto err_destroy_mutex; + if (virCondInit(&req->threadStatusCond) < 0) { + virMutexDestroy(&req->lock); + return NULL; + } =20 virNWFilterSnoopReqGet(req); - - return req; - - err_destroy_mutex: - virMutexDestroy(&req->lock); - - err_free_req: - VIR_FREE(req); - - return NULL; + return g_steal_pointer(&req); } =20 /* @@ -815,7 +802,7 @@ virNWFilterSnoopReqLeaseDel(virNWFilterSnoopReqPtr req, { int ret =3D 0; virNWFilterSnoopIPLeasePtr ipl; - char *ipstr =3D NULL; + g_autofree char *ipstr =3D NULL; =20 /* protect req->start, req->ifname and the lease */ virNWFilterSnoopReqLock(req); @@ -868,8 +855,6 @@ virNWFilterSnoopReqLeaseDel(virNWFilterSnoopReqPtr req, ignore_value(!!g_atomic_int_dec_and_test(&virNWFilterSnoopState.nLease= s)); =20 lease_not_found: - VIR_FREE(ipstr); - virNWFilterSnoopReqUnlock(req); =20 return ret; @@ -1045,7 +1030,7 @@ virNWFilterSnoopDHCPOpen(const char *ifname, virMacAd= dr *mac, pcap_t *handle =3D NULL; struct bpf_program fp; char pcap_errbuf[PCAP_ERRBUF_SIZE]; - char *ext_filter =3D NULL; + g_autofree char *ext_filter =3D NULL; char macaddr[VIR_MAC_STRING_BUFLEN]; =20 virMacAddrFormat(mac, macaddr); @@ -1075,7 +1060,7 @@ virNWFilterSnoopDHCPOpen(const char *ifname, virMacAd= dr *mac, if (handle =3D=3D NULL) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("pcap_create failed")); - goto cleanup_nohandle; + return NULL; } =20 if (pcap_set_snaplen(handle, PCAP_PBUFSIZE) < 0 || @@ -1107,17 +1092,12 @@ virNWFilterSnoopDHCPOpen(const char *ifname, virMac= Addr *mac, } =20 pcap_freecode(&fp); - VIR_FREE(ext_filter); - return handle; =20 cleanup_freecode: pcap_freecode(&fp); cleanup: pcap_close(handle); - cleanup_nohandle: - VIR_FREE(ext_filter); - return NULL; } =20 @@ -1128,7 +1108,7 @@ virNWFilterSnoopDHCPOpen(const char *ifname, virMacAd= dr *mac, static void virNWFilterDHCPDecodeWorker(void *jobdata, void *opaque) { virNWFilterSnoopReqPtr req =3D opaque; - virNWFilterDHCPDecodeJobPtr job =3D jobdata; + g_autofree virNWFilterDHCPDecodeJobPtr job =3D jobdata; virNWFilterSnoopEthHdrPtr packet =3D (virNWFilterSnoopEthHdrPtr)job->p= acket; =20 if (virNWFilterSnoopDHCPDecode(req, packet, @@ -1140,7 +1120,6 @@ static void virNWFilterDHCPDecodeWorker(void *jobdata= , void *opaque) "interface '%s'"), req->binding->portdevname); } ignore_value(!!g_atomic_int_dec_and_test(job->qCtr)); - VIR_FREE(job); } =20 /* @@ -1307,7 +1286,7 @@ virNWFilterDHCPSnoopThread(void *req0) int errcount =3D 0; int tmp =3D -1, rv, n, pollTo; size_t i; - char *threadkey =3D NULL; + g_autofree char *threadkey =3D NULL; virThreadPoolPtr worker =3D NULL; time_t last_displayed =3D 0, last_displayed_queue =3D 0; virNWFilterSnoopPcapConf pcapConf[] =3D { @@ -1533,8 +1512,6 @@ virNWFilterDHCPSnoopThread(void *req0) =20 virNWFilterSnoopReqPut(req); =20 - VIR_FREE(threadkey); - for (i =3D 0; i < G_N_ELEMENTS(pcapConf); i++) { if (pcapConf[i].handle) pcap_close(pcapConf[i].handle); @@ -1721,18 +1698,13 @@ static int virNWFilterSnoopLeaseFileWrite(int lfd, const char *ifkey, virNWFilterSnoopIPLeasePtr ipl) { - char *lbuf =3D NULL; - char *ipstr, *dhcpstr; + g_autofree char *lbuf =3D NULL; + g_autofree char *ipstr =3D virSocketAddrFormat(&ipl->ipAddress); + g_autofree char *dhcpstr =3D virSocketAddrFormat(&ipl->ipServer); int len; - int ret =3D 0; =20 - ipstr =3D virSocketAddrFormat(&ipl->ipAddress); - dhcpstr =3D virSocketAddrFormat(&ipl->ipServer); - - if (!dhcpstr || !ipstr) { - ret =3D -1; - goto cleanup; - } + if (!dhcpstr || !ipstr) + return -1; =20 /* time intf ip dhcpserver */ lbuf =3D g_strdup_printf("%u %s %s %s\n", ipl->timeout, ifkey, ipstr, = dhcpstr); @@ -1740,18 +1712,11 @@ virNWFilterSnoopLeaseFileWrite(int lfd, const char = *ifkey, =20 if (safewrite(lfd, lbuf, len) !=3D len) { virReportSystemError(errno, "%s", _("lease file write failed")); - ret =3D -1; - goto cleanup; + return -1; } =20 ignore_value(g_fsync(lfd)); - - cleanup: - VIR_FREE(lbuf); - VIR_FREE(dhcpstr); - VIR_FREE(ipstr); - - return ret; + return 0; } =20 /* diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfil= ter_ebiptables_driver.c index 8fdc8e8897..b382b9405d 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -188,10 +188,10 @@ _printDataType(virNWFilterVarCombIterPtr vars, bool asHex, bool directionIn) { bool done; - char *data; + g_autofree char *data =3D NULL; uint8_t ctr; - virBuffer vb =3D VIR_BUFFER_INITIALIZER; - char *flags; + g_auto(virBuffer) vb =3D VIR_BUFFER_INITIALIZER; + g_autofree char *flags =3D NULL; =20 if (printVar(vars, buf, bufsize, item, &done) < 0) return -1; @@ -207,10 +207,8 @@ _printDataType(virNWFilterVarCombIterPtr vars, if (g_snprintf(buf, bufsize, "%s", data) >=3D bufsize) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("buffer too small for IP address")); - VIR_FREE(data); return -1; } - VIR_FREE(data); break; =20 case DATATYPE_IPV6ADDR: @@ -221,10 +219,8 @@ _printDataType(virNWFilterVarCombIterPtr vars, if (g_snprintf(buf, bufsize, "%s", data) >=3D bufsize) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("buffer too small for IPv6 address")); - VIR_FREE(data); return -1; } - VIR_FREE(data); break; =20 case DATATYPE_MACADDR: @@ -308,10 +304,8 @@ _printDataType(virNWFilterVarCombIterPtr vars, if (virStrcpy(buf, flags, bufsize) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Buffer too small for IPSETFLAGS type")); - VIR_FREE(flags); return -1; } - VIR_FREE(flags); break; =20 case DATATYPE_STRING: @@ -1187,19 +1181,19 @@ _iptablesCreateRuleInstance(virFirewallPtr fw, return -1; =20 if (HAS_ENTRY_ITEM(&rule->p.tcpHdrFilter.dataTCPFlags)) { - char *flags; + g_autofree char *mask =3D NULL; + g_autofree char *flags =3D NULL; if (ENTRY_WANT_NEG_SIGN(&rule->p.tcpHdrFilter.dataTCPFlags)) virFirewallRuleAddArg(fw, fwrule, "!"); virFirewallRuleAddArg(fw, fwrule, "--tcp-flags"); =20 - if (!(flags =3D virNWFilterPrintTCPFlags(rule->p.tcpHdrFilter.= dataTCPFlags.u.tcpFlags.mask))) + if (!(mask =3D virNWFilterPrintTCPFlags(rule->p.tcpHdrFilter.d= ataTCPFlags.u.tcpFlags.mask))) return -1; - virFirewallRuleAddArg(fw, fwrule, flags); - VIR_FREE(flags); + virFirewallRuleAddArg(fw, fwrule, mask); + if (!(flags =3D virNWFilterPrintTCPFlags(rule->p.tcpHdrFilter.= dataTCPFlags.u.tcpFlags.flags))) return -1; virFirewallRuleAddArg(fw, fwrule, flags); - VIR_FREE(flags); } =20 if (iptablesHandlePortData(fw, fwrule, @@ -1528,7 +1522,7 @@ _iptablesCreateRuleInstance(virFirewallPtr fw, static int printStateMatchFlags(int32_t flags, char **bufptr) { - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virNWFilterPrintStateMatchFlags(&buf, "", flags, @@ -1548,7 +1542,9 @@ iptablesCreateRuleInstanceStateCtrl(virFirewallPtr fw, bool directionIn =3D false; char chainPrefix[2]; bool maySkipICMP, inout =3D false; - char *matchState =3D NULL; + g_autofree char *matchState1 =3D NULL; + g_autofree char *matchState2 =3D NULL; + g_autofree char *matchState3 =3D NULL; bool create; =20 if ((rule->tt =3D=3D VIR_NWFILTER_RULE_DIRECTION_IN) || @@ -1562,7 +1558,6 @@ iptablesCreateRuleInstanceStateCtrl(virFirewallPtr fw, maySkipICMP =3D directionIn || inout; =20 create =3D true; - matchState =3D NULL; =20 if (directionIn && !inout) { if ((rule->flags & IPTABLES_STATE_FLAGS)) @@ -1570,7 +1565,7 @@ iptablesCreateRuleInstanceStateCtrl(virFirewallPtr fw, } =20 if (create && (rule->flags & IPTABLES_STATE_FLAGS)) { - if (printStateMatchFlags(rule->flags, &matchState) < 0) + if (printStateMatchFlags(rule->flags, &matchState1) < 0) return -1; } =20 @@ -1583,11 +1578,10 @@ iptablesCreateRuleInstanceStateCtrl(virFirewallPtr = fw, rule, ifname, vars, - matchState, false, + matchState1, false, "RETURN", maySkipICMP); =20 - VIR_FREE(matchState); if (rc < 0) return rc; } @@ -1601,7 +1595,7 @@ iptablesCreateRuleInstanceStateCtrl(virFirewallPtr fw, } =20 if (create && (rule->flags & IPTABLES_STATE_FLAGS)) { - if (printStateMatchFlags(rule->flags, &matchState) < 0) + if (printStateMatchFlags(rule->flags, &matchState2) < 0) return -1; } =20 @@ -1614,12 +1608,9 @@ iptablesCreateRuleInstanceStateCtrl(virFirewallPtr f= w, rule, ifname, vars, - matchState, false, + matchState2, false, "ACCEPT", maySkipICMP); - - VIR_FREE(matchState); - if (rc < 0) return rc; } @@ -1633,7 +1624,7 @@ iptablesCreateRuleInstanceStateCtrl(virFirewallPtr fw, create =3D false; } else { if ((rule->flags & IPTABLES_STATE_FLAGS)) { - if (printStateMatchFlags(rule->flags, &matchState) < 0) + if (printStateMatchFlags(rule->flags, &matchState3) < 0) return -1; } } @@ -1648,10 +1639,9 @@ iptablesCreateRuleInstanceStateCtrl(virFirewallPtr f= w, rule, ifname, vars, - matchState, false, + matchState3, false, "RETURN", maySkipICMP); - VIR_FREE(matchState); } =20 return rc; @@ -1797,8 +1787,6 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, const char *target; bool hasMask =3D false; virFirewallRulePtr fwrule; - int ret =3D -1; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; =20 if (STREQ(chainSuffix, virNWFilterChainSuffixTypeToString( @@ -1813,7 +1801,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, \ field, sizeof(field), \ &rule->p.STRUCT.ITEM) < 0) \ - goto cleanup; \ + return -1; \ virFirewallRuleAddArg(fw, fwrule, CLI); \ if (ENTRY_WANT_NEG_SIGN(&rule->p.STRUCT.ITEM)) \ virFirewallRuleAddArg(fw, fwrule, "!"); \ @@ -1825,7 +1813,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, \ field, sizeof(field), \ &rule->p.STRUCT.ITEM) < 0) \ - goto cleanup; \ + return -1; \ virFirewallRuleAddArg(fw, fwrule, CLI); \ if (ENTRY_WANT_NEG_SIGN(&rule->p.STRUCT.ITEM)) \ virFirewallRuleAddArg(fw, fwrule, "!"); \ @@ -1833,7 +1821,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, \ fieldalt, sizeof(fieldalt), \ &rule->p.STRUCT.ITEM_HI) < 0) \ - goto cleanup; \ + return -1; \ virFirewallRuleAddArgFormat(fw, fwrule, \ "%s%s%s", field, SEP, fieldalt= ); \ } else { \ @@ -1855,13 +1843,13 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.ethHdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; =20 if (HAS_ENTRY_ITEM(&rule->p.ethHdrFilter.dataProtocolID)) { if (printDataTypeAsHex(vars, number, sizeof(number), &rule->p.ethHdrFilter.dataProtocolID) <= 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "-p"); if (ENTRY_WANT_NEG_SIGN(&rule->p.ethHdrFilter.dataProtocolID)) virFirewallRuleAddArg(fw, fwrule, "!"); @@ -1877,7 +1865,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.vlanHdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArgList(fw, fwrule, "-p", "0x8100", NULL); @@ -1906,7 +1894,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.stpHdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArgList(fw, fwrule, "-d", NWFILTER_MAC_BGA, NULL); @@ -1942,7 +1930,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.arpHdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, "-p"); virFirewallRuleAddArgFormat(fw, fwrule, "0x%x", @@ -1954,7 +1942,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.arpHdrFilter.dataHWType) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "--arp-htype"); if (ENTRY_WANT_NEG_SIGN(&rule->p.arpHdrFilter.dataHWType)) virFirewallRuleAddArg(fw, fwrule, "!"); @@ -1965,7 +1953,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.arpHdrFilter.dataOpcode) < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "--arp-opcode"); if (ENTRY_WANT_NEG_SIGN(&rule->p.arpHdrFilter.dataOpcode)) virFirewallRuleAddArg(fw, fwrule, "!"); @@ -1976,7 +1964,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataTypeAsHex(vars, number, sizeof(number), &rule->p.arpHdrFilter.dataProtocolType)= < 0) - goto cleanup; + return -1; virFirewallRuleAddArg(fw, fwrule, "--arp-ptype"); if (ENTRY_WANT_NEG_SIGN(&rule->p.arpHdrFilter.dataProtocolType= )) virFirewallRuleAddArg(fw, fwrule, "!"); @@ -1987,13 +1975,13 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipaddr, sizeof(ipaddr), &rule->p.arpHdrFilter.dataARPSrcIPAddr) < 0) - goto cleanup; + return -1; =20 if (HAS_ENTRY_ITEM(&rule->p.arpHdrFilter.dataARPSrcIPMask)) { if (printDataType(vars, ipmask, sizeof(ipmask), &rule->p.arpHdrFilter.dataARPSrcIPMask) = < 0) - goto cleanup; + return -1; hasMask =3D true; } =20 @@ -2009,13 +1997,13 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipaddr, sizeof(ipaddr), &rule->p.arpHdrFilter.dataARPDstIPAddr) < 0) - goto cleanup; + return -1; =20 if (HAS_ENTRY_ITEM(&rule->p.arpHdrFilter.dataARPDstIPMask)) { if (printDataType(vars, ipmask, sizeof(ipmask), &rule->p.arpHdrFilter.dataARPDstIPMask) = < 0) - goto cleanup; + return -1; hasMask =3D true; } =20 @@ -2031,7 +2019,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, macaddr, sizeof(macaddr), &rule->p.arpHdrFilter.dataARPSrcMACAddr) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, reverse ? "--arp-mac-dst" : "--arp-mac-s= rc"); @@ -2044,7 +2032,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, macaddr, sizeof(macaddr), &rule->p.arpHdrFilter.dataARPDstMACAddr) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, reverse ? "--arp-mac-src" : "--arp-mac-d= st"); @@ -2069,7 +2057,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.ipHdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArgList(fw, fwrule, "-p", "ipv4", NULL); @@ -2078,7 +2066,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipaddr, sizeof(ipaddr), &rule->p.ipHdrFilter.ipHdr.dataSrcIPAddr) < = 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip-destination" : "--ip-sou= rce"); @@ -2089,7 +2077,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipHdrFilter.ipHdr.dataSrcIPMask= ) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s/%s", ipaddr, number); } else { @@ -2102,7 +2090,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipaddr, sizeof(ipaddr), &rule->p.ipHdrFilter.ipHdr.dataDstIPAddr) < = 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip-source" : "--ip-destinat= ion"); @@ -2113,7 +2101,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipHdrFilter.ipHdr.dataDstIPMask= ) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s/%s", ipaddr, number); } else { @@ -2125,7 +2113,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipHdrFilter.ipHdr.dataProtocolID) <= 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, "--ip-protocol"); if (ENTRY_WANT_NEG_SIGN(&rule->p.ipHdrFilter.ipHdr.dataProtoco= lID)) @@ -2137,7 +2125,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipHdrFilter.portData.dataSrcPortSta= rt) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip-destination-port" : "--i= p-source-port"); @@ -2148,7 +2136,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipHdrFilter.portData.dataSrcPor= tEnd) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArgFormat(fw, fwrule, "%s:%s", number, numberalt); @@ -2161,7 +2149,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipHdrFilter.portData.dataDstPortSta= rt) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip-source-port" : "--ip-des= tination-port"); @@ -2172,7 +2160,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipHdrFilter.portData.dataDstPor= tEnd) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArgFormat(fw, fwrule, "%s:%s", number, numberalt); @@ -2185,7 +2173,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataTypeAsHex(vars, number, sizeof(number), &rule->p.ipHdrFilter.ipHdr.dataDSCP) < = 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, "--ip-tos"); if (ENTRY_WANT_NEG_SIGN(&rule->p.ipHdrFilter.ipHdr.dataDSCP)) @@ -2202,7 +2190,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, vars, &rule->p.ipv6HdrFilter.ethHdr, reverse) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArgList(fw, fwrule, "-p", "ipv6", NULL); @@ -2211,7 +2199,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipv6addr, sizeof(ipv6addr), &rule->p.ipv6HdrFilter.ipHdr.dataSrcIPAddr) = < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip6-destination" : "--ip6-s= ource"); @@ -2222,7 +2210,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.ipHdr.dataSrcIPMa= sk) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s/%s", ipv6addr, number); } else { @@ -2235,7 +2223,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, ipv6addr, sizeof(ipv6addr), &rule->p.ipv6HdrFilter.ipHdr.dataDstIPAddr) = < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip6-source" : "--ip6-destin= ation"); @@ -2246,7 +2234,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.ipHdr.dataDstIPMa= sk) < 0) - goto cleanup; + return -1; virFirewallRuleAddArgFormat(fw, fwrule, "%s/%s", ipv6addr, number); } else { @@ -2258,7 +2246,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.ipHdr.dataProtocolID)= < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, "--ip6-protocol"); if (ENTRY_WANT_NEG_SIGN(&rule->p.ipv6HdrFilter.ipHdr.dataProto= colID)) @@ -2271,7 +2259,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.portData.dataSrcPortS= tart) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip6-destination-port" : "--= ip6-source-port"); @@ -2282,7 +2270,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipv6HdrFilter.portData.dataSrcP= ortEnd) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArgFormat(fw, fwrule, "%s:%s", number, numberalt); @@ -2296,7 +2284,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.portData.dataDstPortS= tart) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArg(fw, fwrule, reverse ? "--ip6-source-port" : "--ip6-d= estination-port"); @@ -2307,7 +2295,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipv6HdrFilter.portData.dataDstP= ortEnd) < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArgFormat(fw, fwrule, "%s:%s", number, numberalt); @@ -2321,7 +2309,8 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, HAS_ENTRY_ITEM(&rule->p.ipv6HdrFilter.dataICMPCodeStart) || HAS_ENTRY_ITEM(&rule->p.ipv6HdrFilter.dataICMPCodeEnd)) { bool lo =3D false; - char *r; + g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; + g_autofree char *r =3D NULL; =20 virFirewallRuleAddArg(fw, fwrule, "--ip6-icmp-type"); @@ -2330,7 +2319,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.dataICMPTypeStart= ) < 0) - goto cleanup; + return -1; lo =3D true; } else { ignore_value(virStrcpyStatic(number, "0")); @@ -2342,7 +2331,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipv6HdrFilter.dataICMPTypeEnd) = < 0) - goto cleanup; + return -1; } else { if (lo) ignore_value(virStrcpyStatic(numberalt, number)); @@ -2358,7 +2347,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, number, sizeof(number), &rule->p.ipv6HdrFilter.dataICMPCodeStart= ) < 0) - goto cleanup; + return -1; lo =3D true; } else { ignore_value(virStrcpyStatic(number, "0")); @@ -2370,7 +2359,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, if (printDataType(vars, numberalt, sizeof(numberalt), &rule->p.ipv6HdrFilter.dataICMPCodeEnd) = < 0) - goto cleanup; + return -1; } else { if (lo) ignore_value(virStrcpyStatic(numberalt, number)); @@ -2386,8 +2375,6 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, r =3D virBufferContentAndReset(&buf); =20 virFirewallRuleAddArg(fw, fwrule, r); - - VIR_FREE(r); } break; =20 @@ -2421,11 +2408,7 @@ ebtablesCreateRuleInstance(virFirewallPtr fw, #undef INST_ITEM_2PARMS #undef INST_ITEM =20 - ret =3D 0; - cleanup: - virBufferFreeAndReset(&buf); - - return ret; + return 0; } =20 =20 @@ -3301,9 +3284,8 @@ ebtablesGetSubChainInsts(virHashTablePtr chains, ebtablesSubChainInstPtr **insts, size_t *ninsts) { - virHashKeyValuePairPtr filter_names; + g_autofree virHashKeyValuePairPtr filter_names =3D NULL; size_t i; - int ret =3D -1; =20 filter_names =3D virHashGetItems(chains, ebiptablesFilterOrderSort); @@ -3311,7 +3293,7 @@ ebtablesGetSubChainInsts(virHashTablePtr chains, return -1; =20 for (i =3D 0; filter_names[i].key; i++) { - ebtablesSubChainInstPtr inst; + g_autofree ebtablesSubChainInstPtr inst =3D NULL; enum l3_proto_idx idx =3D ebtablesGetProtoIdxByFiltername( filter_names[i].key); =20 @@ -3324,18 +3306,11 @@ ebtablesGetSubChainInsts(virHashTablePtr chains, inst->protoidx =3D idx; inst->filtername =3D filter_names[i].key; =20 - if (VIR_APPEND_ELEMENT(*insts, *ninsts, inst) < 0) { - VIR_FREE(inst); - goto cleanup; - } + if (VIR_APPEND_ELEMENT(*insts, *ninsts, inst) < 0) + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(filter_names); - return ret; - + return 0; } =20 static int @@ -3345,12 +3320,12 @@ ebiptablesApplyNewRules(const char *ifname, { size_t i, j; g_autoptr(virFirewall) fw =3D virFirewallNew(); - virHashTablePtr chains_in_set =3D virHashCreate(10, NULL); - virHashTablePtr chains_out_set =3D virHashCreate(10, NULL); + g_autoptr(virHashTable) chains_in_set =3D virHashCreate(10, NULL); + g_autoptr(virHashTable) chains_out_set =3D virHashCreate(10, NULL); bool haveEbtables =3D false; bool haveIptables =3D false; bool haveIp6tables =3D false; - ebtablesSubChainInstPtr *subchains =3D NULL; + g_autofree ebtablesSubChainInstPtr *subchains =3D NULL; size_t nsubchains =3D 0; int ret =3D -1; =20 @@ -3544,9 +3519,6 @@ ebiptablesApplyNewRules(const char *ifname, cleanup: for (i =3D 0; i < nsubchains; i++) VIR_FREE(subchains[i]); - VIR_FREE(subchains); - virHashFree(chains_in_set); - virHashFree(chains_out_set); =20 return ret; } diff --git a/src/nwfilter/nwfilter_gentech_driver.c b/src/nwfilter/nwfilter= _gentech_driver.c index 8ba555358d..f586c7e938 100644 --- a/src/nwfilter/nwfilter_gentech_driver.c +++ b/src/nwfilter/nwfilter_gentech_driver.c @@ -414,7 +414,6 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr fi= lter, virNWFilterDefPtr next_filter; virNWFilterDefPtr newNext_filter; virNWFilterVarValuePtr val; - virHashTablePtr tmpvars; =20 for (i =3D 0; i < filter->nentries; i++) { virNWFilterRuleDefPtr rule =3D filter->filterEntries[i]->rule; @@ -424,20 +423,16 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr = filter, for (j =3D 0; j < rule->nVarAccess; j++) { if (!virNWFilterVarAccessIsAvailable(rule->varAccess[j], vars)) { - char *varAccess; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; + g_autofree char *varAccess =3D NULL; + g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 virNWFilterVarAccessPrint(rule->varAccess[j], &buf); =20 - val =3D virNWFilterVarValueCreateSimpleCopyValue("1"); - if (!val) { - virBufferFreeAndReset(&buf); + if (!(val =3D virNWFilterVarValueCreateSimpleCopyValue= ("1"))) return -1; - } =20 varAccess =3D virBufferContentAndReset(&buf); rc =3D virHashUpdateEntry(missing_vars, varAccess, val= ); - VIR_FREE(varAccess); if (rc < 0) { virNWFilterVarValueFree(val); return -1; @@ -445,6 +440,8 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr fi= lter, } } } else if (inc) { + g_autoptr(virHashTable) tmpvars =3D NULL; + VIR_DEBUG("Following filter %s", inc->filterref); if (!(obj =3D virNWFilterObjListFindInstantiateFilter(driver->= nwfilters, inc->filte= rref))) @@ -473,9 +470,6 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr fi= lter, missing_vars, useNewFilter, driver); - - virHashFree(tmpvars); - virNWFilterObjUnlock(obj); if (rc < 0) return -1; @@ -516,7 +510,7 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr techd= river, int rc; virNWFilterInst inst; bool instantiate =3D true; - char *buf; + g_autofree char *buf =3D NULL; virNWFilterVarValuePtr lv; const char *learning; bool reportIP =3D false; @@ -636,7 +630,6 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr techd= river, virReportError(VIR_ERR_INTERNAL_ERROR, _("Cannot instantiate filter due to unresolvable " "variables or unavailable list elements: %s"), bu= f); - VIR_FREE(buf); } =20 rc =3D -1; diff --git a/src/nwfilter/nwfilter_learnipaddr.c b/src/nwfilter/nwfilter_le= arnipaddr.c index 3bb8c27167..7bb39c3a66 100644 --- a/src/nwfilter/nwfilter_learnipaddr.c +++ b/src/nwfilter/nwfilter_learnipaddr.c @@ -396,8 +396,8 @@ learnIPAddressThread(void *arg) req->binding->portdevname); int dhcp_opts_len; char macaddr[VIR_MAC_STRING_BUFLEN]; - virBuffer buf =3D VIR_BUFFER_INITIALIZER; - char *filter =3D NULL; + g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; + g_autofree char *filter =3D NULL; uint16_t etherType; bool showError =3D true; enum howDetect howDetected =3D 0; @@ -622,8 +622,6 @@ learnIPAddressThread(void *arg) } /* while */ =20 done: - VIR_FREE(filter); - if (handle) pcap_close(handle); =20 @@ -633,7 +631,7 @@ learnIPAddressThread(void *arg) sa.len =3D sizeof(sa.data.inet4); sa.data.inet4.sin_family =3D AF_INET; sa.data.inet4.sin_addr.s_addr =3D vmaddr; - char *inetaddr; + g_autofree char *inetaddr =3D NULL; =20 /* It is necessary to unlock interface here to avoid updateMutex a= nd * interface ordering deadlocks. Otherwise we are going to @@ -656,7 +654,6 @@ learnIPAddressThread(void *arg) req->ifindex); VIR_DEBUG("Result from applying firewall rules on " "%s with IP addr %s : %d", req->binding->portdevname= , inetaddr, ret); - VIR_FREE(inetaddr); } } else { if (showError) --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1593056172; cv=none; d=zohomail.com; s=zohoarc; b=ee6gMneqAl4wx+1tKC5si7Q+0nJgpAbaE4/w0GBiuQdSB773M4EV5pRNnb5+ghyDJ4Xa5i8Yrs5vTsqxESFdLKkK1Oh74HIevbN8q2+L1LNT4weFhndf4X/62zmKQYq1qqMqZn6RWSD1VIuJ6qPRfEk9hCBfTmCEwEf5OlHiucA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056172; 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=xQBHfY1y1KptSb+4JRYCO2rYjH9jkh6pKj19o/j9iaY=; b=VchUxj3wBhbL8QouiJDEhx3gaf+dxQUH08jFmkAVHdMNb4v5eLCpWWVNcGliJDx8y+22IFyZ0pYTU4Qp6wMtUo2FoPVHk3BAxml4NufAawHjsIBkjOE/ZbxUuJ/CZvUqytgQblvMdeUVW/7EsAdNMOWNzZ8iGDnfMEDcKe7sBQE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1593056172957105.47173983196001; Wed, 24 Jun 2020 20:36: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-30-l51FEgd4MIeEnHk2_-QZOQ-1; Wed, 24 Jun 2020 23:34:51 -0400 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 4FD4710059A3; Thu, 25 Jun 2020 03:34:45 +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 2A19210190DF; Thu, 25 Jun 2020 03:34:45 +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 ED0401805315; Thu, 25 Jun 2020 03:34:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YYFc007942 for ; Wed, 24 Jun 2020 23:34:34 -0400 Received: by smtp.corp.redhat.com (Postfix) id D2D2B5BAC6; Thu, 25 Jun 2020 03:34:34 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8E0955BAE5 for ; Thu, 25 Jun 2020 03:34:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056171; 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=xQBHfY1y1KptSb+4JRYCO2rYjH9jkh6pKj19o/j9iaY=; b=WuPusppCc6DDbjvpFX0NQzhoLKEXyNETpa5ipvrf8Et5GnDmmLl9PKRnm4IHKJQ486st4f mvPRJZCHHrAAcztUiVl+VUj0y3u0gDbx8wrLupFcrv6mLOZRXWk9gHhuo1BtB6W2k/xk62 qYAFlM5ThBj1f+RlDys7UQJlISWw67A= X-MC-Unique: l51FEgd4MIeEnHk2_-QZOQ-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 22/25] nwfilter: convert remaining VIR_FREE() to g_free() Date: Wed, 24 Jun 2020 23:34:11 -0400 Message-Id: <20200625033414.1819594-23-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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 X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Laine Stump --- src/nwfilter/nwfilter_dhcpsnoop.c | 16 ++++++++-------- src/nwfilter/nwfilter_driver.c | 10 +++++----- src/nwfilter/nwfilter_ebiptables_driver.c | 2 +- src/nwfilter/nwfilter_gentech_driver.c | 6 +++--- src/nwfilter/nwfilter_learnipaddr.c | 8 ++++---- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/nwfilter/nwfilter_dhcpsnoop.c b/src/nwfilter/nwfilter_dhcp= snoop.c index 32cd6492ad..e41062feca 100644 --- a/src/nwfilter/nwfilter_dhcpsnoop.c +++ b/src/nwfilter/nwfilter_dhcpsnoop.c @@ -314,7 +314,7 @@ virNWFilterSnoopCancel(char **threadKey) virNWFilterSnoopActiveLock(); =20 ignore_value(virHashRemoveEntry(virNWFilterSnoopState.active, *threadK= ey)); - VIR_FREE(*threadKey); + g_free(*threadKey); =20 virNWFilterSnoopActiveUnlock(); } @@ -600,7 +600,7 @@ virNWFilterSnoopReqFree(virNWFilterSnoopReqPtr req) virCondDestroy(&req->threadStatusCond); virFreeError(req->threadError); =20 - VIR_FREE(req); + g_free(req); } =20 /* @@ -731,7 +731,7 @@ virNWFilterSnoopReqLeaseAdd(virNWFilterSnoopReqPtr req, =20 if (req->threadkey && virNWFilterSnoopIPLeaseInstallRule(pl, true) < 0= ) { virNWFilterSnoopReqUnlock(req); - VIR_FREE(pl); + g_free(pl); return -1; } =20 @@ -850,7 +850,7 @@ virNWFilterSnoopReqLeaseDel(virNWFilterSnoopReqPtr req, } =20 skip_instantiate: - VIR_FREE(ipl); + g_free(ipl); =20 ignore_value(!!g_atomic_int_dec_and_test(&virNWFilterSnoopState.nLease= s)); =20 @@ -1149,7 +1149,7 @@ virNWFilterSnoopDHCPDecodeJobSubmit(virThreadPoolPtr = pool, if (ret =3D=3D 0) g_atomic_int_add(qCtr, 1); else - VIR_FREE(job); + g_free(job); =20 return ret; } @@ -1502,7 +1502,7 @@ virNWFilterDHCPSnoopThread(void *req0) ignore_value(virHashRemoveEntry(virNWFilterSnoopState.ifnameToKey, req->binding->portdevname)); =20 - VIR_FREE(req->binding->portdevname); + g_free(req->binding->portdevname); =20 virNWFilterSnoopReqUnlock(req); virNWFilterSnoopUnlock(); @@ -1970,7 +1970,7 @@ virNWFilterSnoopRemAllReqIter(const void *payload, */ virNWFilterIPAddrMapDelIPAddr(req->binding->portdevname, NULL); =20 - VIR_FREE(req->binding->portdevname); + g_free(req->binding->portdevname); } =20 virNWFilterSnoopReqUnlock(req); @@ -2079,7 +2079,7 @@ virNWFilterDHCPSnoopEnd(const char *ifname) /* keep valid lease req; drop interface association */ virNWFilterSnoopCancel(&req->threadkey); =20 - VIR_FREE(req->binding->portdevname); + g_free(req->binding->portdevname); =20 virNWFilterSnoopReqUnlock(req); =20 diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c index 39d0a2128e..7853ad59fa 100644 --- a/src/nwfilter/nwfilter_driver.c +++ b/src/nwfilter/nwfilter_driver.c @@ -303,7 +303,7 @@ nwfilterStateInitialize(bool privileged, =20 err_free_driverstate: virNWFilterObjListFree(driver->nwfilters); - VIR_FREE(driver); + g_free(driver); =20 return VIR_DRV_STATE_INIT_ERROR; } @@ -367,9 +367,9 @@ nwfilterStateCleanup(void) if (driver->lockFD !=3D -1) virPidFileRelease(driver->stateDir, "driver", driver->lockFD); =20 - VIR_FREE(driver->stateDir); - VIR_FREE(driver->configDir); - VIR_FREE(driver->bindingDir); + g_free(driver->stateDir); + g_free(driver->configDir); + g_free(driver->bindingDir); nwfilterDriverUnlock(); } =20 @@ -379,7 +379,7 @@ nwfilterStateCleanup(void) virNWFilterObjListFree(driver->nwfilters); =20 virMutexDestroy(&driver->lock); - VIR_FREE(driver); + g_free(driver); =20 return 0; } diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfil= ter_ebiptables_driver.c index b382b9405d..6e05e638aa 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -3518,7 +3518,7 @@ ebiptablesApplyNewRules(const char *ifname, =20 cleanup: for (i =3D 0; i < nsubchains; i++) - VIR_FREE(subchains[i]); + g_free(subchains[i]); =20 return ret; } diff --git a/src/nwfilter/nwfilter_gentech_driver.c b/src/nwfilter/nwfilter= _gentech_driver.c index f586c7e938..183e2f0a91 100644 --- a/src/nwfilter/nwfilter_gentech_driver.c +++ b/src/nwfilter/nwfilter_gentech_driver.c @@ -122,7 +122,7 @@ virNWFilterRuleInstFree(virNWFilterRuleInstPtr inst) return; =20 virHashFree(inst->vars); - VIR_FREE(inst); + g_free(inst); } =20 =20 @@ -234,12 +234,12 @@ virNWFilterInstReset(virNWFilterInstPtr inst) =20 for (i =3D 0; i < inst->nfilters; i++) virNWFilterObjUnlock(inst->filters[i]); - VIR_FREE(inst->filters); + g_free(inst->filters); inst->nfilters =3D 0; =20 for (i =3D 0; i < inst->nrules; i++) virNWFilterRuleInstFree(inst->rules[i]); - VIR_FREE(inst->rules); + g_free(inst->rules); } =20 =20 diff --git a/src/nwfilter/nwfilter_learnipaddr.c b/src/nwfilter/nwfilter_le= arnipaddr.c index 7bb39c3a66..c72ae23e4c 100644 --- a/src/nwfilter/nwfilter_learnipaddr.c +++ b/src/nwfilter/nwfilter_learnipaddr.c @@ -156,7 +156,7 @@ virNWFilterLockIface(const char *ifname) if (virMutexInitRecursive(&ifaceLock->lock) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("mutex initialization failed")); - VIR_FREE(ifaceLock); + g_free(ifaceLock); goto err_exit; } =20 @@ -165,12 +165,12 @@ virNWFilterLockIface(const char *ifname) _("interface name %s does not fit into " "buffer "), ifaceLock->ifname); - VIR_FREE(ifaceLock); + g_free(ifaceLock); goto err_exit; } =20 while (virHashAddEntry(ifaceLockMap, ifname, ifaceLock)) { - VIR_FREE(ifaceLock); + g_free(ifaceLock); goto err_exit; } =20 @@ -221,7 +221,7 @@ virNWFilterIPAddrLearnReqFree(virNWFilterIPAddrLearnReq= Ptr req) =20 virNWFilterBindingDefFree(req->binding); =20 - VIR_FREE(req); + g_free(req); } =20 =20 --=20 2.25.4 From nobody Tue Apr 23 20:52:49 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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=1593056098; cv=none; d=zohomail.com; s=zohoarc; b=R+ucUXtWHikxgG8wH6gqaq24eHMozTb/MzjBmtNDQuew2M2Qap7XX8jBMX0squbiGoVXITtJiqF0UaxkC/vZVmfvLxrf5DXkAutFsH3gSjsWN8Z3ICMy+AD7hglRggl1vj/wchw1W9CNb5NQ2y/QjcBD8GK5/FgoanggTvf2Xhc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056098; 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=uIJcud94/cmczlSSAag5rU1218fZmBv/sg8c1hiixNA=; b=VkviF1sD9EmECufNJTrpmeEgxnH0BawATQPj1eHTQRXv7EbN7XBRPNELi12yMp6Ydj1fZMonBduI2GMl7Rg5iFouUxXCUXKapFsXXQv0E5EqyWuy2sOsxLriQ8TDyIoojJFVcYC+elLaiYvp2RwlTD9sggprDzKaohpvl82Yy38= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1593056098560182.68796213351266; Wed, 24 Jun 2020 20:34:58 -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-377-jXIHQnoFMRis04AQyphNHA-1; Wed, 24 Jun 2020 23:34:55 -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 8AC438064AF; Thu, 25 Jun 2020 03:34:48 +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 6C6E971688; Thu, 25 Jun 2020 03:34:48 +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 3B8F4180531C; Thu, 25 Jun 2020 03:34:48 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YZUl007947 for ; Wed, 24 Jun 2020 23:34:35 -0400 Received: by smtp.corp.redhat.com (Postfix) id 4C3A47FE8B; Thu, 25 Jun 2020 03:34:35 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 087E85BAC9 for ; Thu, 25 Jun 2020 03:34:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056097; 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=uIJcud94/cmczlSSAag5rU1218fZmBv/sg8c1hiixNA=; b=URF10jA5ZrC0vkyPGgq/jCa4GPzwWKt1adqQUqQSLgRMGw3NFabgxX/8BNY9u1nD9N4ed+ hYPkmP08VuR8+Q8mrrs4XGF27k43pHT3PXetQenVBJh1qKATN1dooJFfzYn0wzqObKvIx8 yy0Nj6JSQMdr7TyouS+xTZVzbiXEzOc= X-MC-Unique: jXIHQnoFMRis04AQyphNHA-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 23/25] nwfilter: transform logic in virNWFilterRuleInstSort to eliminate label Date: Wed, 24 Jun 2020 23:34:12 -0400 Message-Id: <20200625033414.1819594-24-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" This rewrite of a nested conditional produces the same results, but eliminate a goto and corresponding label. Signed-off-by: Laine Stump --- src/nwfilter/nwfilter_ebiptables_driver.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfil= ter_ebiptables_driver.c index 6e05e638aa..90afbe21f1 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -3101,13 +3101,12 @@ virNWFilterRuleInstSort(const void *a, const void *= b) /* ensure root chain commands appear before all others since we will need them to create the child chains */ if (root_a) { - if (root_b) - goto normal; - return -1; /* a before b */ - } - if (root_b) + if (!root_b) + return -1; /* a before b */ + } else if (root_b) { return 1; /* b before a */ - normal: + } + /* priorities are limited to range [-1000, 1000] */ return insta->priority - instb->priority; } --=20 2.25.4 From nobody Tue Apr 23 20:52:49 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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=1593056173; cv=none; d=zohomail.com; s=zohoarc; b=UK/BBwfo+vfbpviYk3bX/m2ZvvcOsDLGxUGv+ihJK5qJcmlkyvqTNEfDv5QlwZKFw5IuKjcgd9rEYEAdLx3LbdTOCd65gBhLqPYhKmx6SakcxtATQJIOrOA2B7qTetP/jPB4bqhc1CIEIV+IDbjyV03eemHvfe/25OXGyk2mXNI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056173; 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=hyXRAxfSaPXiATlNc9S9fnFjl5gr2Jfm6hepy15b+LU=; b=jFTWK2To1ia0uiJCQmS4+2EXQQExZpznCYjAQIwRO6Qdrt8haAD7dj5RyKBmoCSWVg543s9V+byFxSYahIXpr4ScG4V+qPUBEOB4Ui6FkGFVyKReo/StF5luSlc9hR2fURedYKsQxr2D3FP9jwf8tWYi6Wl9VRVPe26O4adoYqo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1593056173158133.25586166342032; Wed, 24 Jun 2020 20:36:13 -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-475-HRYM7mqMO_mq0Cu5-ihMqg-1; Wed, 24 Jun 2020 23:34:51 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B11BF10059AA; Thu, 25 Jun 2020 03:34:45 +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 9336D5C578; Thu, 25 Jun 2020 03:34:45 +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 6159D875B5; Thu, 25 Jun 2020 03:34:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YZww007954 for ; Wed, 24 Jun 2020 23:34:35 -0400 Received: by smtp.corp.redhat.com (Postfix) id BB98F5BAC9; Thu, 25 Jun 2020 03:34:35 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 779235BACC for ; Thu, 25 Jun 2020 03:34:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056171; 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=hyXRAxfSaPXiATlNc9S9fnFjl5gr2Jfm6hepy15b+LU=; b=EChchh4ckvWP8QXPoSYA+I+xxDYsCQjCeSqruOhgu+6tFzkcfSP//BGugxV2z7jRFEQ4WG omNzRLtuRETBLl8cgTedCTgnHijPEUW9i7/u7kDpPHyYySUA0kCwK0hkzqMcJEqm31QDqb aNS50SbxKFL55K8LRqwYOrqQOS6m4r4= X-MC-Unique: HRYM7mqMO_mq0Cu5-ihMqg-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 24/25] nwfilter: use standard label names when reasonable Date: Wed, 24 Jun 2020 23:34:13 -0400 Message-Id: <20200625033414.1819594-25-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Rather than having labels named exit, done, exit_snooprequnlock, skip_rename, etc, use the standard "cleanup" label. And instead of err_exit, malformed, tear_down_tmpebchains, use "error". Signed-off-by: Laine Stump --- src/nwfilter/nwfilter_dhcpsnoop.c | 36 +++++++++++------------ src/nwfilter/nwfilter_ebiptables_driver.c | 12 ++++---- src/nwfilter/nwfilter_gentech_driver.c | 32 ++++++++++---------- src/nwfilter/nwfilter_learnipaddr.c | 22 +++++++------- 4 files changed, 51 insertions(+), 51 deletions(-) diff --git a/src/nwfilter/nwfilter_dhcpsnoop.c b/src/nwfilter/nwfilter_dhcp= snoop.c index e41062feca..efb3257e92 100644 --- a/src/nwfilter/nwfilter_dhcpsnoop.c +++ b/src/nwfilter/nwfilter_dhcpsnoop.c @@ -454,11 +454,11 @@ virNWFilterSnoopIPLeaseInstallRule(virNWFilterSnoopIP= LeasePtr ipl, virNWFilterSnoopReqLock(req); =20 if (virNWFilterIPAddrMapAddIPAddr(req->binding->portdevname, ipaddr) <= 0) - goto exit_snooprequnlock; + goto cleanup; =20 if (!instantiate) { rc =3D 0; - goto exit_snooprequnlock; + goto cleanup; } =20 /* instantiate the filters */ @@ -469,7 +469,7 @@ virNWFilterSnoopIPLeaseInstallRule(virNWFilterSnoopIPLe= asePtr ipl, req->ifindex); } =20 - exit_snooprequnlock: + cleanup: virNWFilterSnoopReqUnlock(req); return rc; } @@ -718,7 +718,7 @@ virNWFilterSnoopReqLeaseAdd(virNWFilterSnoopReqPtr req, =20 virNWFilterSnoopReqUnlock(req); =20 - goto exit; + goto cleanup; } =20 virNWFilterSnoopReqUnlock(req); @@ -742,7 +742,7 @@ virNWFilterSnoopReqLeaseAdd(virNWFilterSnoopReqPtr req, =20 g_atomic_int_add(&virNWFilterSnoopState.nLeases, 1); =20 - exit: + cleanup: if (update_leasefile) virNWFilterSnoopLeaseFileSave(pl); =20 @@ -885,7 +885,7 @@ virNWFilterSnoopDHCPGetOpt(virNWFilterSnoopDHCPHdrPtr p= d, int len, switch (pd->d_opts[oind]) { case DHCPO_LEASE: if (olen - oind < 6) - goto malformed; + goto error; if (*pleasetime) return -1; /* duplicate lease time */ memcpy(&nwint, (char *)pd->d_opts + oind + 2, sizeof(nwint)); @@ -893,7 +893,7 @@ virNWFilterSnoopDHCPGetOpt(virNWFilterSnoopDHCPHdrPtr p= d, int len, break; case DHCPO_MTYPE: if (olen - oind < 3) - goto malformed; + goto error; if (*pmtype) return -1; /* duplicate message type */ *pmtype =3D pd->d_opts[oind + 2]; @@ -905,12 +905,12 @@ virNWFilterSnoopDHCPGetOpt(virNWFilterSnoopDHCPHdrPtr= pd, int len, return 0; default: if (olen - oind < 2) - goto malformed; + goto error; } oind +=3D pd->d_opts[oind + 1] + 2; } return 0; - malformed: + error: VIR_WARN("got lost in the options!"); return -1; } @@ -1362,7 +1362,7 @@ virNWFilterDHCPSnoopThread(void *req0) virNWFilterSnoopReqUnlock(req); =20 if (req->threadStatus !=3D THREAD_STATUS_OK) - goto exit; + goto cleanup; =20 while (!error) { if (virNWFilterSnoopAdjustPoll(pcapConf, @@ -1390,7 +1390,7 @@ virNWFilterDHCPSnoopThread(void *req0) */ if (!virNWFilterSnoopIsActive(threadkey) || req->jobCompletionStatus !=3D 0) - goto exit; + goto cleanup; =20 for (i =3D 0; n > 0 && i < G_N_ELEMENTS(fds); i++) { if (!fds[i].revents) @@ -1507,7 +1507,7 @@ virNWFilterDHCPSnoopThread(void *req0) virNWFilterSnoopReqUnlock(req); virNWFilterSnoopUnlock(); =20 - exit: + cleanup: virThreadPoolFree(worker); =20 virNWFilterSnoopReqPut(req); @@ -1736,14 +1736,14 @@ virNWFilterSnoopLeaseFileSave(virNWFilterSnoopIPLea= sePtr ipl) virNWFilterSnoopLeaseFileOpen(); if (virNWFilterSnoopLeaseFileWrite(virNWFilterSnoopState.leaseFD, req->ifkey, ipl) < 0) - goto err_exit; + goto error; =20 /* keep dead leases at < ~95% of file size */ if (g_atomic_int_add(&virNWFilterSnoopState.wLeases, 1) >=3D g_atomic_int_get(&virNWFilterSnoopState.nLeases) * 20) virNWFilterSnoopLeaseFileLoad(); /* load & refresh lease file */ =20 - err_exit: + error: virNWFilterSnoopUnlock(); } =20 @@ -1838,7 +1838,7 @@ virNWFilterSnoopLeaseFileRefresh(void) if (VIR_CLOSE(tfd) < 0) { virReportSystemError(errno, _("unable to close %s"), TMPLEASEFILE); /* assuming the old lease file is still better, skip the renaming = */ - goto skip_rename; + goto cleanup; } =20 if (rename(TMPLEASEFILE, LEASEFILE) < 0) { @@ -1848,7 +1848,7 @@ virNWFilterSnoopLeaseFileRefresh(void) } g_atomic_int_set(&virNWFilterSnoopState.wLeases, 0); =20 - skip_rename: + cleanup: virNWFilterSnoopLeaseFileOpen(); } =20 @@ -2013,14 +2013,14 @@ virNWFilterDHCPSnoopInit(void) if (!virNWFilterSnoopState.ifnameToKey || !virNWFilterSnoopState.snoopReqs || !virNWFilterSnoopState.active) - goto err_exit; + goto error; =20 virNWFilterSnoopLeaseFileLoad(); virNWFilterSnoopLeaseFileOpen(); =20 return 0; =20 - err_exit: + error: virHashFree(virNWFilterSnoopState.ifnameToKey); virNWFilterSnoopState.ifnameToKey =3D NULL; =20 diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfil= ter_ebiptables_driver.c index 90afbe21f1..6aefbe226b 100644 --- a/src/nwfilter/nwfilter_ebiptables_driver.c +++ b/src/nwfilter/nwfilter_ebiptables_driver.c @@ -2881,11 +2881,11 @@ ebtablesApplyBasicRules(const char *ifname, ebtablesRenameTmpRootChainFW(fw, true, ifname); =20 if (virFirewallApply(fw) < 0) - goto tear_down_tmpebchains; + goto error; =20 return 0; =20 - tear_down_tmpebchains: + error: ebtablesCleanAll(ifname); return -1; } @@ -2997,11 +2997,11 @@ ebtablesApplyDHCPOnlyRules(const char *ifname, } =20 if (virFirewallApply(fw) < 0) - goto tear_down_tmpebchains; + goto error; =20 return 0; =20 - tear_down_tmpebchains: + error: ebtablesCleanAll(ifname); return -1; } @@ -3048,11 +3048,11 @@ ebtablesApplyDropAllRules(const char *ifname) ebtablesRenameTmpRootChainFW(fw, false, ifname); =20 if (virFirewallApply(fw) < 0) - goto tear_down_tmpebchains; + goto error; =20 return 0; =20 - tear_down_tmpebchains: + error: ebtablesCleanAll(ifname); return -1; } diff --git a/src/nwfilter/nwfilter_gentech_driver.c b/src/nwfilter/nwfilter= _gentech_driver.c index 183e2f0a91..5433761548 100644 --- a/src/nwfilter/nwfilter_gentech_driver.c +++ b/src/nwfilter/nwfilter_gentech_driver.c @@ -204,14 +204,14 @@ virNWFilterCreateVarsFrom(virHashTablePtr vars1, return NULL; =20 if (virNWFilterHashTablePutAll(vars1, res) < 0) - goto err_exit; + goto error; =20 if (virNWFilterHashTablePutAll(vars2, res) < 0) - goto err_exit; + goto error; =20 return res; =20 - err_exit: + error: virHashFree(res); return NULL; } @@ -521,7 +521,7 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr techd= river, =20 if (!missing_vars) { rc =3D -1; - goto err_exit; + goto error; } =20 rc =3D virNWFilterDetermineMissingVarsRec(filter, @@ -530,7 +530,7 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr techd= river, useNewFilter, driver); if (rc < 0) - goto err_exit; + goto error; =20 lv =3D virHashLookup(binding->filterparams, NWFILTER_VARNAME_CTRL_IP_L= EARNING); if (lv) @@ -552,7 +552,7 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr techd= river, rc =3D virNWFilterDHCPSnoopReq(techdriver, binding, driver); - goto err_exit; + goto error; } else if (STRCASEEQ(learning, "any")) { if (!virNWFilterHasLearnReq(ifindex)) { rc =3D virNWFilterLearnIPAddress(techdriver, @@ -561,14 +561,14 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr tec= hdriver, driver, DETECT_DHCP|DETECT_STAT= IC); } - goto err_exit; + goto error; } else { rc =3D -1; virReportError(VIR_ERR_PARSE_FAILED, _("filter '%s' " "learning value '%s' invalid."), filter->name, learning); - goto err_exit; + goto error; } } else { goto err_unresolvable_vars; @@ -577,7 +577,7 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr techd= river, goto err_unresolvable_vars; } else if (!forceWithPendingReq && virNWFilterHasLearnReq(ifindex)) { - goto err_exit; + goto error; } =20 rc =3D virNWFilterDefToInst(driver, @@ -587,7 +587,7 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr techd= river, &inst); =20 if (rc < 0) - goto err_exit; + goto error; =20 switch (useNewFilter) { case INSTANTIATE_FOLLOW_NEWFILTER: @@ -600,7 +600,7 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr techd= river, =20 if (instantiate) { if (virNWFilterLockIface(binding->portdevname) < 0) - goto err_exit; + goto error; =20 rc =3D techdriver->applyNewRules(binding->portdevname, inst.rules,= inst.nrules); =20 @@ -617,7 +617,7 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr techd= river, virNWFilterUnlockIface(binding->portdevname); } =20 - err_exit: + error: virNWFilterInstReset(&inst); virHashFree(missing_vars); =20 @@ -633,7 +633,7 @@ virNWFilterDoInstantiate(virNWFilterTechDriverPtr techd= river, } =20 rc =3D -1; - goto err_exit; + goto error; } =20 =20 @@ -700,14 +700,14 @@ virNWFilterInstantiateFilterUpdate(virNWFilterDriverS= tatePtr driver, if (virNWFilterVarHashmapAddStdValue(binding->filterparams, NWFILTER_STD_VAR_MAC, vmmacaddr) < 0) - goto err_exit; + goto error; =20 ipaddr =3D virNWFilterIPAddrMapGetIPAddr(binding->portdevname); if (ipaddr && virNWFilterVarHashmapAddStdValue(binding->filterparams, NWFILTER_STD_VAR_IP, virNWFilterVarValueGetSimple(ipad= dr)) < 0) - goto err_exit; + goto error; =20 =20 filter =3D virNWFilterObjGetDef(obj); @@ -730,7 +730,7 @@ virNWFilterInstantiateFilterUpdate(virNWFilterDriverSta= tePtr driver, teardownOld, driver, forceWithPendingReq); =20 - err_exit: + error: virNWFilterObjUnlock(obj); =20 return rc; diff --git a/src/nwfilter/nwfilter_learnipaddr.c b/src/nwfilter/nwfilter_le= arnipaddr.c index c72ae23e4c..c6497450eb 100644 --- a/src/nwfilter/nwfilter_learnipaddr.c +++ b/src/nwfilter/nwfilter_learnipaddr.c @@ -157,7 +157,7 @@ virNWFilterLockIface(const char *ifname) virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("mutex initialization failed")); g_free(ifaceLock); - goto err_exit; + goto error; } =20 if (virStrcpyStatic(ifaceLock->ifname, ifname) < 0) { @@ -166,12 +166,12 @@ virNWFilterLockIface(const char *ifname) "buffer "), ifaceLock->ifname); g_free(ifaceLock); - goto err_exit; + goto error; } =20 while (virHashAddEntry(ifaceLockMap, ifname, ifaceLock)) { g_free(ifaceLock); - goto err_exit; + goto error; } =20 ifaceLock->refctr =3D 0; @@ -185,7 +185,7 @@ virNWFilterLockIface(const char *ifname) =20 return 0; =20 - err_exit: + error: virMutexUnlock(&ifaceMapLock); =20 return -1; @@ -413,7 +413,7 @@ learnIPAddressThread(void *arg) if (virNetDevValidateConfig(req->binding->portdevname, NULL, req->ifin= dex) <=3D 0) { virResetLastError(); req->status =3D ENODEV; - goto done; + goto cleanup; } =20 handle =3D pcap_open_live(listen_if, BUFSIZ, 0, PKT_TIMEOUT_MS, errbuf= ); @@ -421,7 +421,7 @@ learnIPAddressThread(void *arg) if (handle =3D=3D NULL) { VIR_DEBUG("Couldn't open device %s: %s", listen_if, errbuf); req->status =3D ENODEV; - goto done; + goto cleanup; } =20 fds[0].fd =3D pcap_fileno(handle); @@ -435,7 +435,7 @@ learnIPAddressThread(void *arg) NULL, false) < 0) { VIR_DEBUG("Unable to apply DHCP only rules"); req->status =3D EINVAL; - goto done; + goto cleanup; } virBufferAddLit(&buf, "src port 67 and dst port 68"); } else { @@ -443,7 +443,7 @@ learnIPAddressThread(void *arg) &req->binding->mac) < 0) { VIR_DEBUG("Unable to apply basic rules"); req->status =3D EINVAL; - goto done; + goto cleanup; } virBufferAsprintf(&buf, "ether host %s or ether dst ff:ff:ff:ff:ff= :ff", macaddr); @@ -454,14 +454,14 @@ learnIPAddressThread(void *arg) if (pcap_compile(handle, &fp, filter, 1, 0) !=3D 0) { VIR_DEBUG("Couldn't compile filter '%s'", filter); req->status =3D EINVAL; - goto done; + goto cleanup; } =20 if (pcap_setfilter(handle, &fp) !=3D 0) { VIR_DEBUG("Couldn't set filter '%s'", filter); req->status =3D EINVAL; pcap_freecode(&fp); - goto done; + goto cleanup; } =20 pcap_freecode(&fp); @@ -621,7 +621,7 @@ learnIPAddressThread(void *arg) } } /* while */ =20 - done: + cleanup: if (handle) pcap_close(handle); =20 --=20 2.25.4 From nobody Tue Apr 23 20:52:49 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1593056098; cv=none; d=zohomail.com; s=zohoarc; b=OJv8E+rSLCKPjqc8g+NgOd4bABLodrgAfEKRlxnklO1DxuhKLD2cJ9ghQW0Ils5FT1yuqCU64erdOIx3fBsIuHPjPmEouk7m7k+KtfgZI/utnI09HKdHflHi9bO/rd2mECJ2UpAlgdnnkgG+ulVg9eiFJJTR2Kxuo8MRIeJBE+A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593056098; 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=fDu/APagev+tfVLHU0sAcn1Manuqe+XLnW7PLKnjbjs=; b=bees5Bp9ciHobncfK8CC/kdJEQO1Sg6Fy2g3MnA1k0UypZu4ZHSqP/mcYnP1MCEVEa+Mu9Y+ArBfsHEpRBUaK8ZjWjgKnklAh9WdGvMeI97d5YJlWfkfuuaDWV0sz/6JQNlH+wMY6RkMBwCN90dOmF3JXDHT032D5xblVg1iegM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 159305609842332.94460792023301; Wed, 24 Jun 2020 20:34:58 -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-371-nGAAg5h9MxuCDLX1A15lcw-1; Wed, 24 Jun 2020 23:34:55 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 486A3800D5C; Thu, 25 Jun 2020 03:34:50 +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 DB8825DAA0; Thu, 25 Jun 2020 03:34:49 +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 AF788875B7; Thu, 25 Jun 2020 03:34:49 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 05P3YahH007960 for ; Wed, 24 Jun 2020 23:34:36 -0400 Received: by smtp.corp.redhat.com (Postfix) id 372FD5BACC; Thu, 25 Jun 2020 03:34:36 +0000 (UTC) Received: from vhost2.laine.org (ovpn-114-28.phx2.redhat.com [10.3.114.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id E6E835BAC9 for ; Thu, 25 Jun 2020 03:34:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593056097; 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=fDu/APagev+tfVLHU0sAcn1Manuqe+XLnW7PLKnjbjs=; b=D06RpknPC4GqLHRV7Nrhm8ey8DGDDV4ITr8ukpnsV0IAnGsJw8I3uoONK4GDiY0ctImDb7 xYe2fl6PLFqffKAAjK3EyaM+iLJMsUfB0JXfzTzVwnR3vaXHLOo+eWqJvKMjc8Ux3+qHaE YuHqcNqECok4yiBRHmb5bXeE3qEwEUw= X-MC-Unique: nGAAg5h9MxuCDLX1A15lcw-1 From: Laine Stump To: libvir-list@redhat.com Subject: [PATCH 25/25] replace g_new() with g_new0() for consistency Date: Wed, 24 Jun 2020 23:34:14 -0400 Message-Id: <20200625033414.1819594-26-laine@redhat.com> In-Reply-To: <20200625033414.1819594-1-laine@redhat.com> References: <20200625033414.1819594-1-laine@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com 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.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" g_new() is used in only 3 places. Switching them to g_new0() will do no harm, reduces confusion, and helps me sleep better at night knowing that all allocated memory is initialized to 0 :-) (Yes, I *know* that in all three cases the associated memory is immediately assigned some other value. Today.) Signed-off-by: Laine Stump --- src/qemu/qemu_backup.c | 2 +- src/util/virutil.c | 2 +- tests/qemuhotplugmock.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index 8dc9d2504d..dae9300567 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -64,7 +64,7 @@ qemuBackupPrepare(virDomainBackupDefPtr def) =20 if (def->type =3D=3D VIR_DOMAIN_BACKUP_TYPE_PULL) { if (!def->server) { - def->server =3D g_new(virStorageNetHostDef, 1); + def->server =3D g_new0(virStorageNetHostDef, 1); =20 def->server->transport =3D VIR_STORAGE_NET_HOST_TRANS_TCP; def->server->name =3D g_strdup("localhost"); diff --git a/src/util/virutil.c b/src/util/virutil.c index 04f882fda7..ff664ea778 100644 --- a/src/util/virutil.c +++ b/src/util/virutil.c @@ -962,7 +962,7 @@ virGetGroupList(uid_t uid, gid_t gid, gid_t **list) if (uid !=3D (uid_t)-1 && virGetUserEnt(uid, &user, &primary, NULL, NULL, true) >=3D 0) { int nallocgrps =3D 10; - gid_t *grps =3D g_new(gid_t, nallocgrps); + gid_t *grps =3D g_new0(gid_t, nallocgrps); =20 while (1) { int nprevallocgrps =3D nallocgrps; diff --git a/tests/qemuhotplugmock.c b/tests/qemuhotplugmock.c index d2324913cf..29fac8a598 100644 --- a/tests/qemuhotplugmock.c +++ b/tests/qemuhotplugmock.c @@ -57,7 +57,7 @@ virDevMapperGetTargets(const char *path, *devPaths =3D NULL; =20 if (STREQ(path, "/dev/mapper/virt")) { - *devPaths =3D g_new(char *, 4); + *devPaths =3D g_new0(char *, 4); (*devPaths)[0] =3D g_strdup("/dev/block/8:0"); /* /dev/sda */ (*devPaths)[1] =3D g_strdup("/dev/block/8:16"); /* /dev/sdb */ (*devPaths)[2] =3D g_strdup("/dev/block/8:32"); /* /dev/sdc */ --=20 2.25.4