From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639126902110.59044049289662; Thu, 26 Jul 2018 14:05:26 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 076A5C04BD48; Thu, 26 Jul 2018 21:05:25 +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 B9D0C16D2D; Thu, 26 Jul 2018 21:05: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 5A6B518037F8; Thu, 26 Jul 2018 21:05:24 +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 w6QL4hoB024639 for ; Thu, 26 Jul 2018 17:04:43 -0400 Received: by smtp.corp.redhat.com (Postfix) id 846655D6A8; Thu, 26 Jul 2018 21:04:43 +0000 (UTC) Received: from mx1.redhat.com (ext-mx14.extmail.prod.ext.phx2.redhat.com [10.5.110.43]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7BEC75D6A5 for ; Thu, 26 Jul 2018 21:04:40 +0000 (UTC) Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EA70E308FB90 for ; Thu, 26 Jul 2018 21:04:38 +0000 (UTC) Received: by mail-pg1-f177.google.com with SMTP id r1-v6so1881090pgp.11 for ; Thu, 26 Jul 2018 14:04:38 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=tYsj8mG5WXqPHQKKWK6xgJlrkzHH7Jh1lmwBrFM/F04=; b=gKDsCCzPi8j/+2G2vZTpC0ZSVVPQ4PmtASmNpyHWOjVRt8cKRsEp7wzVRMZ+1czXJ1 Uj9SuRnSXKqgA1c/u7RW8hF+OtYCI4Tfr47UtBJrt1JTZtwt6DfVHNCURPwA8ZCCA//e +TdBxSvm6+8d5d5ESbygpmTIm6/0BjuV3ly1Z+MrXzcWK7aw4GqicGSSiKTgMV7zU99T 11VcKZaxeem6bUQz3jWOtvqcKLRPuaVd1L4WEqNoB8+763n2mww8F7O9vH5ywFRl271e AvZKFu2A4mHADGyBrbwiA8rL++Orx4jkzRZHOwlGfYrc0zQbaPyTII/0KgZ/nThyCYoo lyng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=tYsj8mG5WXqPHQKKWK6xgJlrkzHH7Jh1lmwBrFM/F04=; b=RcilEE9RbhZc51w3SSF49yaHxA2kJPEQjHbBC14tITu6sT1wSCD9G4iUQRdwx34l+5 pgxCt0tTKH97QROnvQb17+kK1W3/RgZCsjDQqOLQ2Wp5uTzql/dVGyT7CyXEHbXGqQoc /5Q+C5JmoLM6kbYAY3yJ2ZS5nxF42CnjQ/k+0IIMhJs+LgOWR/FbCvKF0MD26SRPJJiC 47l6gBzdzPXxIxek7cHrQigEi9Lz9mfxT1bG2aqSPeYKXoE2cA55TrpyG6v8jkmEY4Im HugVvyx+p9uQzR4E9M1F47By7ZPkvttJdaH0SU0Gt70ehw736o5g2OmAk81xSAoaV9X1 Q3kw== X-Gm-Message-State: AOUpUlGMwwk9NUMaAB9TxY6sB1Kwr8x/5pV7/4EnL3Vs0gO2iQ3FkaQr EtVaY5IKM09y+k9AHG9W3SHhCFUw X-Google-Smtp-Source: AAOMgpeRDSGwAGyw/dZd8x/byBPI3a2Gi5nbmZIOwVGrny7gp9iP8oVMM3oNXPNR+khlFC00zc5S0A== X-Received: by 2002:a63:1844:: with SMTP id 4-v6mr3420053pgy.313.1532639078204; Thu, 26 Jul 2018 14:04:38 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:02 +0530 Message-Id: <1532447562-24010-2-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Thu, 26 Jul 2018 21:04:39 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Thu, 26 Jul 2018 21:04:39 +0000 (UTC) for IP:'209.85.215.177' DOMAIN:'mail-pg1-f177.google.com' HELO:'mail-pg1-f177.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.177 mail-pg1-f177.google.com 209.85.215.177 mail-pg1-f177.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.43 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 01/41] util: error: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 26 Jul 2018 21:05:25 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When a variable of type virErrorPtr is declared using VIR_AUTOPTR, the function virFreeError will be run automatically on it when it goes out of scope. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virerror.c | 1 - src/util/virerror.h | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/util/virerror.c b/src/util/virerror.c index 5f26d59..4688e01 100644 --- a/src/util/virerror.c +++ b/src/util/virerror.c @@ -30,7 +30,6 @@ #include "virerror.h" #include "datatypes.h" #include "virlog.h" -#include "viralloc.h" #include "virthread.h" #include "virutil.h" #include "virstring.h" diff --git a/src/util/virerror.h b/src/util/virerror.h index 760bfa4..31577c5 100644 --- a/src/util/virerror.h +++ b/src/util/virerror.h @@ -23,6 +23,7 @@ # define __VIRT_ERROR_H_ =20 # include "internal.h" +# include "viralloc.h" =20 # define VIR_ERROR_MAX_LENGTH 1024 =20 @@ -205,4 +206,6 @@ bool virLastErrorIsSystemErrno(int errnum); void virErrorPreserveLast(virErrorPtr *saveerr); void virErrorRestore(virErrorPtr *savederr); =20 +VIR_DEFINE_AUTOPTR_FUNC(virError, virFreeError) + #endif --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639131364897.4747339167496; Thu, 26 Jul 2018 14:05:31 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 701753086253; Thu, 26 Jul 2018 21:05:29 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 23F146090B; Thu, 26 Jul 2018 21:05: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 B44B43F67F; Thu, 26 Jul 2018 21:05:28 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL4ixM024647 for ; Thu, 26 Jul 2018 17:04:44 -0400 Received: by smtp.corp.redhat.com (Postfix) id C5B5261D3B; Thu, 26 Jul 2018 21:04:44 +0000 (UTC) Received: from mx1.redhat.com (ext-mx20.extmail.prod.ext.phx2.redhat.com [10.5.110.49]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BC8A761D28 for ; Thu, 26 Jul 2018 21:04:42 +0000 (UTC) Received: from mail-pl0-f66.google.com (mail-pl0-f66.google.com [209.85.160.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F06763086253 for ; Thu, 26 Jul 2018 21:04:40 +0000 (UTC) Received: by mail-pl0-f66.google.com with SMTP id e11-v6so1343516plb.3 for ; Thu, 26 Jul 2018 14:04:40 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.38 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=hARtqyP4l+PFr1M0RULIoRZLmfEIJEa/B4MtxGTNPdY=; b=VEmbEIT8xz+a4HYYdDd6GmSIMbyefLtdsBWu2R2kbje5z/HoOgGwzyUV2ZISGg1ovo XFsjOYnw6OIz3ELPhJHo6PJd4EsRwOZaBzsSq7b7/5i3fGfVM79CFqVUiZDWmVtHsdfl h7EeuJDfPL8Xs7oWm3IjbtYkqiwdo4l5ySRzvM9EQ88GeKEEQyvpnu+8iW7s649vF7QG TBAP07bm3prxYNes82zvm2lzi33zbAFV9tPJcsvwR5NJ5YvlTxj+wH1bu8nN5vPd1o0H HsSIxUO02w4fAo/t1e6dererUw17TRcG196LuhIZC+zgwtsQBDfL9+fUxpS6+62HbvWo ZXUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=hARtqyP4l+PFr1M0RULIoRZLmfEIJEa/B4MtxGTNPdY=; b=cr9fJJoBYkNIjUVr0cIhdSjlUksclssCVgxQmKGnajHq9yG3jBlU3agYZCv41mNVmy m+7oShSiVKG0QEsWIRmrJ95579xRMS/3wbn5EFNX0F5caraTq4sviqBg3AlvRRtdBZna GDGhKLL1CgSCHKR373rZSONhDZXQQnC88JOTQO+q4x/5hwyCZ7VLluP0hXhRIdJ+wYfS J/WIr8j9zEDLMFkOXDw7Do0FbCU1Yu5oj8LcAvSWLuTZC74dver6eO5ZvPSgyttI1Bk/ 0KgIPvBW4Rw/1M5Y5f9H0dGeaMx+lzTZC3qUn8uHQFnHUHWG57ya8EU3T8EusyfobSkb vOIw== X-Gm-Message-State: AOUpUlFKvL5aPleARHquR+8A63Dm8v3H/yhWR2CmWrN51dwvNad1uBCg ORcGMCLQ1AowT/RO/AJEP29bAloS X-Google-Smtp-Source: AAOMgpczkEPMi8IX9ZMnkR4D8MecheyEyhEhOggd1W9XuPmzCuqooCt18wlBRpfHVTCZXArACr4UAQ== X-Received: by 2002:a17:902:5281:: with SMTP id a1-v6mr3341223pli.73.1532639080220; Thu, 26 Jul 2018 14:04:40 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:03 +0530 Message-Id: <1532447562-24010-3-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:04:41 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:04:41 +0000 (UTC) for IP:'209.85.160.66' DOMAIN:'mail-pl0-f66.google.com' HELO:'mail-pl0-f66.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.66 mail-pl0-f66.google.com 209.85.160.66 mail-pl0-f66.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.49 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 02/41] util: buffer: typedef for struct _virBufferEscapePair 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:05:30 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Create and use typedefs virBufferEscapePair and virBufferEscapePairPtr for struct _virBufferEscapePair for cleaner code and for use with cleanup macros. Signed-off-by: Sukrit Bhatnagar --- src/util/virbuffer.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/util/virbuffer.c b/src/util/virbuffer.c index 3d6defb..ea96704 100644 --- a/src/util/virbuffer.c +++ b/src/util/virbuffer.c @@ -648,12 +648,14 @@ virBufferEscape(virBufferPtr buf, char escape, const = char *toescape, } =20 =20 +typedef struct _virBufferEscapePair virBufferEscapePair; +typedef virBufferEscapePair *virBufferEscapePairPtr; + struct _virBufferEscapePair { char escape; char *toescape; }; =20 - /** * virBufferEscapeN: * @buf: the buffer to append to @@ -678,8 +680,8 @@ virBufferEscapeN(virBufferPtr buf, char *escaped =3D NULL; char *out; const char *cur; - struct _virBufferEscapePair escapeItem; - struct _virBufferEscapePair *escapeList =3D NULL; + virBufferEscapePair escapeItem; + virBufferEscapePairPtr escapeList =3D NULL; size_t nescapeList =3D 0; va_list ap; =20 --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639135860862.9109112581679; Thu, 26 Jul 2018 14:05:35 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id A87673086275; Thu, 26 Jul 2018 21:05: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 5E7586017E; Thu, 26 Jul 2018 21:05: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 0CBB83D3BE; Thu, 26 Jul 2018 21:05:33 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL4kQs024657 for ; Thu, 26 Jul 2018 17:04:46 -0400 Received: by smtp.corp.redhat.com (Postfix) id 82A5B16D23; Thu, 26 Jul 2018 21:04:46 +0000 (UTC) Received: from mx1.redhat.com (ext-mx08.extmail.prod.ext.phx2.redhat.com [10.5.110.32]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7B0D319487 for ; Thu, 26 Jul 2018 21:04:44 +0000 (UTC) Received: from mail-pl0-f68.google.com (mail-pl0-f68.google.com [209.85.160.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F300CC0587CE for ; Thu, 26 Jul 2018 21:04:42 +0000 (UTC) Received: by mail-pl0-f68.google.com with SMTP id f6-v6so1350023plo.1 for ; Thu, 26 Jul 2018 14:04:42 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.40 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=saKLeHUBPj1hmyVG7gvG6nZzEOFu5LWOYUZ53fvGZJI=; b=I8JLKNZeEp2vIifZXi2HhzXGHYDDojoy/eEb41KffRiVn0khxCO3RkJXu7AuXIXVpD hYcsDgFfHhZkIC9HskEzJXJIdoPjSAu5DDb0okswiKCZb3kSavuyVH2M7uIRRSZJTWj/ u0qmN4rhG4jdGOG6tPrcsYWjqQcB/H78Lm82SxKZJF+An9kSf9UMxbZKIWe4oTLPpi75 bduUI6ZC85ZKRINDJlux/ksUxX6L7ez+1M/39jYr8S/Deo0ghdHjyKNm+jy6bwDh52i8 rx1E80gTbOIB87sY1MaHx26q0lTUiepDFQVlCn9uoABmpA+fX22HB7K5RpW+Gi7kypPh 5b3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=saKLeHUBPj1hmyVG7gvG6nZzEOFu5LWOYUZ53fvGZJI=; b=VsKoN9pmqwOWOsIGxehTh/ki4omNeAeiutyBqcTsPeCN9qc2jkWgAuRsidR1fPB932 5gA7dW5TV4cLG7uR4XZR2g4rAqG4MERnqlt1JoVGL6Ma5R07OCON7FagYdYTwJcvAcmG WHk3r4ui8w2wQeM7Lm0dQ+AagwOjtaqA1fqc16xrZpIjFubRfjnzAL1BV2ns878xbxAQ G1nmkLQ4grgJGAix02IRzzGqFaaoKKEvKvCho5KgD4uilqDMdqMt9UFBcwkmsk+bAdcq 37FlYK4ZTAOL10FVLcULyBWXIx/xOb8hhwtJhC69T3K60OXk1/0o6Ifa2SeiLg7X+EuL hmcg== X-Gm-Message-State: AOUpUlFhaETSr7T9sk5lggsS7/7n9N82AyoR5cp4zJX/g5GKrZ1usooT hK0DAGE/G2CRV/Ju/0u/eIp9c/+6 X-Google-Smtp-Source: AAOMgpeRJqNAD7mWE4QOrbfKd5wvQWjJCQwIXqwOxV9jdOUkxwjwjOk63qG/YIESRIbzqgYefLATFw== X-Received: by 2002:a17:902:bd44:: with SMTP id b4-v6mr3429048plx.144.1532639082237; Thu, 26 Jul 2018 14:04:42 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:04 +0530 Message-Id: <1532447562-24010-4-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 26 Jul 2018 21:04:43 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 26 Jul 2018 21:04:43 +0000 (UTC) for IP:'209.85.160.68' DOMAIN:'mail-pl0-f68.google.com' HELO:'mail-pl0-f68.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.68 mail-pl0-f68.google.com 209.85.160.68 mail-pl0-f68.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.32 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 03/41] util: buffer: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:05:34 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When variables of type virBufferPtr and virBufferEscapePairPtr are declared using VIR_AUTOPTR, the functions virBufferFreeAndReset and virBufferEscapePairFree, respectively, will be run automatically on them when they go out of scope. Signed-off-by: Sukrit Bhatnagar --- src/util/virbuffer.c | 16 ++++++++++++++-- src/util/virbuffer.h | 9 +++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/util/virbuffer.c b/src/util/virbuffer.c index ea96704..0640cfa 100644 --- a/src/util/virbuffer.c +++ b/src/util/virbuffer.c @@ -31,10 +31,10 @@ #define __VIR_BUFFER_C__ =20 #include "virbuffer.h" -#include "viralloc.h" #include "virerror.h" #include "virstring.h" =20 +#define VIR_FROM_THIS VIR_FROM_NONE =20 /* If adding more fields, ensure to edit buf.h to match the number of fields */ @@ -656,6 +656,18 @@ struct _virBufferEscapePair { char *toescape; }; =20 +static void +virBufferEscapePairFree(virBufferEscapePairPtr pair) +{ + if (!pair) + return; + + VIR_FREE(pair->toescape); + VIR_FREE(pair); +} +VIR_DEFINE_AUTOPTR_FUNC(virBufferEscapePair, virBufferEscapePairFree) + + /** * virBufferEscapeN: * @buf: the buffer to append to @@ -696,7 +708,7 @@ virBufferEscapeN(virBufferPtr buf, va_start(ap, str); =20 while ((escapeItem.escape =3D va_arg(ap, int))) { - if (!(escapeItem.toescape =3D va_arg(ap, char *))) { + if (VIR_STRDUP(escapeItem.toescape, va_arg(ap, char *)) < 0) { virBufferSetError(buf, errno); goto cleanup; } diff --git a/src/util/virbuffer.h b/src/util/virbuffer.h index e95ee87..3b31060 100644 --- a/src/util/virbuffer.h +++ b/src/util/virbuffer.h @@ -23,10 +23,13 @@ #ifndef __VIR_BUFFER_H__ # define __VIR_BUFFER_H__ =20 -# include "internal.h" - # include =20 +# include "internal.h" + +# include "viralloc.h" + + /** * virBuffer: * @@ -119,4 +122,6 @@ int virBufferGetIndent(const virBuffer *buf, bool dynam= ic); void virBufferTrim(virBufferPtr buf, const char *trim, int len); void virBufferAddStr(virBufferPtr buf, const char *str); =20 +VIR_DEFINE_AUTOPTR_FUNC(virBuffer, virBufferFreeAndReset) + #endif /* __VIR_BUFFER_H__ */ --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639117465197.1043715622834; Thu, 26 Jul 2018 14:05:17 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 915993084047; Thu, 26 Jul 2018 21:05:15 +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 53C545ED3A; Thu, 26 Jul 2018 21:05:15 +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 F018A18037F6; Thu, 26 Jul 2018 21:05:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL4lSQ024662 for ; Thu, 26 Jul 2018 17:04:47 -0400 Received: by smtp.corp.redhat.com (Postfix) id 0632116D23; Thu, 26 Jul 2018 21:04:47 +0000 (UTC) Received: from mx1.redhat.com (ext-mx08.extmail.prod.ext.phx2.redhat.com [10.5.110.32]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EEA8419487 for ; Thu, 26 Jul 2018 21:04:46 +0000 (UTC) Received: from mail-pl0-f65.google.com (mail-pl0-f65.google.com [209.85.160.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B42CBC057F9F for ; Thu, 26 Jul 2018 21:04:45 +0000 (UTC) Received: by mail-pl0-f65.google.com with SMTP id s17-v6so1342034plp.7 for ; Thu, 26 Jul 2018 14:04:45 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.42 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=+emJQstfauwQDKbn11+aN5e433UOJyogClu+oNYg6eo=; b=TXt07V/JxN/DDouXtqN28mXhvAsr7bPqteSltN9u8gHC9k/XcGNCRIxVDGwj+/6zzH jDKnPQGNYsmbAaVXM/RFaVIWptgVutBS1cetmMHQ/GANfSmvQW5ZSGSeZ6Vhrgz8Zs9N xYykDzFmLkOa1mfxTfjNYKKBMd7MYg8WrlD32nNAELIE3oCnj3KfEK3sIwECWr8xo/ok eNMZ4ZECQSltS7lvBIj7Dv5PThlLjDCpv4W5FDS7qhJs+R2WlfN5/Ma/scQFDoNwZcz7 vSjxt3B/86FNVWYYMxbLXpnKQiXbMC7uPKBnAwCjv0t8B6ETXe+Xm0RHAfMy7KY5oO4D 48lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=+emJQstfauwQDKbn11+aN5e433UOJyogClu+oNYg6eo=; b=p+6blEh8TMl6gHOPU7027jTH4w7Lez7xVwC/XTHBraM+HWVS1fJLsUIC/GPF7gVg6F gaplEuQGk3sIqW7kB9ONDmvooPHLQoaBH2DfqRraH7vgl05q9vzI8D5uDDR662qTLmu5 PplfxTEMzi7F00fSBgRUXcZJdmscWb1/zyOz2A0mqqYtPLYzjBtMqQbB2KW7/FMvJ8ag gbmyurTpTOgHgsz2E8TisPXkTcfMpgCGNdKpRKVf4U8GcgcuawPnAdkk+OVj3smkei6j biELnfPxKJht0CSsqQBFR5slw26i+60So5jczoAU0xqGoOGyVc6i/+gYwjVY50H6uUBA HDvg== X-Gm-Message-State: AOUpUlH/2PEjtHFPYrLVo7ZmvcV0BgYp3W0gc9ZrQ/qacMHgayLxkwew wXaU3tNfW/24j4Z/5KILm3BghZdz X-Google-Smtp-Source: AAOMgpd/q+lw8rpAYPKoJ+rbHm7CbcGR6kVXtYuk8K2FqPVYu/TQ37n/rlfiKYugn3DRv+Gm3jLGRQ== X-Received: by 2002:a17:902:9042:: with SMTP id w2-v6mr3402376plz.61.1532639084983; Thu, 26 Jul 2018 14:04:44 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:05 +0530 Message-Id: <1532447562-24010-5-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 26 Jul 2018 21:04:45 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 26 Jul 2018 21:04:45 +0000 (UTC) for IP:'209.85.160.65' DOMAIN:'mail-pl0-f65.google.com' HELO:'mail-pl0-f65.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.65 mail-pl0-f65.google.com 209.85.160.65 mail-pl0-f65.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.32 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 04/41] util: buffer: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:05:16 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virbuffer.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/util/virbuffer.c b/src/util/virbuffer.c index 0640cfa..f70069e 100644 --- a/src/util/virbuffer.c +++ b/src/util/virbuffer.c @@ -456,7 +456,8 @@ void virBufferEscapeString(virBufferPtr buf, const char *format, const char *st= r) { int len; - char *escaped, *out; + VIR_AUTOFREE(char *) escaped =3D NULL; + char *out; const char *cur; const char forbidden_characters[] =3D { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, @@ -533,7 +534,6 @@ virBufferEscapeString(virBufferPtr buf, const char *for= mat, const char *str) *out =3D 0; =20 virBufferAsprintf(buf, format, escaped); - VIR_FREE(escaped); } =20 /** @@ -612,7 +612,8 @@ virBufferEscape(virBufferPtr buf, char escape, const ch= ar *toescape, const char *format, const char *str) { int len; - char *escaped, *out; + VIR_AUTOFREE(char *) escaped =3D NULL; + char *out; const char *cur; =20 if ((format =3D=3D NULL) || (buf =3D=3D NULL) || (str =3D=3D NULL)) @@ -644,7 +645,6 @@ virBufferEscape(virBufferPtr buf, char escape, const ch= ar *toescape, *out =3D 0; =20 virBufferAsprintf(buf, format, escaped); - VIR_FREE(escaped); } =20 =20 @@ -689,7 +689,7 @@ virBufferEscapeN(virBufferPtr buf, { int len; size_t i; - char *escaped =3D NULL; + VIR_AUTOFREE(char *) escaped =3D NULL; char *out; const char *cur; virBufferEscapePair escapeItem; @@ -752,7 +752,6 @@ virBufferEscapeN(virBufferPtr buf, cleanup: va_end(ap); VIR_FREE(escapeList); - VIR_FREE(escaped); } =20 =20 @@ -817,7 +816,8 @@ void virBufferEscapeShell(virBufferPtr buf, const char *str) { int len; - char *escaped, *out; + VIR_AUTOFREE(char *) escaped =3D NULL; + char *out; const char *cur; =20 if ((buf =3D=3D NULL) || (str =3D=3D NULL)) @@ -861,7 +861,6 @@ virBufferEscapeShell(virBufferPtr buf, const char *str) *out =3D 0; =20 virBufferAdd(buf, escaped, -1); - VIR_FREE(escaped); } =20 /** --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639098789808.9246545648214; Thu, 26 Jul 2018 14:04:58 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0C31FC0587CE; Thu, 26 Jul 2018 21:04:57 +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 CC233CE220; Thu, 26 Jul 2018 21:04:56 +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 718D64A465; Thu, 26 Jul 2018 21:04:56 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL4pH4024687 for ; Thu, 26 Jul 2018 17:04:51 -0400 Received: by smtp.corp.redhat.com (Postfix) id 9C8AA60177; Thu, 26 Jul 2018 21:04:51 +0000 (UTC) Received: from mx1.redhat.com (ext-mx20.extmail.prod.ext.phx2.redhat.com [10.5.110.49]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 971B260175 for ; Thu, 26 Jul 2018 21:04:48 +0000 (UTC) Received: from mail-pl0-f68.google.com (mail-pl0-f68.google.com [209.85.160.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 00D44308624B for ; Thu, 26 Jul 2018 21:04:48 +0000 (UTC) Received: by mail-pl0-f68.google.com with SMTP id m1-v6so1341840plt.6 for ; Thu, 26 Jul 2018 14:04:47 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.45 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=T5sNNaqrQKd3eXGFMOQd3MRFOUAz25rdQV0C3BnNoRw=; b=pZUa7ib6HFdwHfTRWcRvZ13zrM1RC7KB2XB311bo8PIb5rDjhZTQYmR8pm3C7XguPD EFLlAVb/qTZgp68kdZaIqnYaV9EQxd3po+Tbp/WF7KV7gePGYOppwN37Y7HxLfiIIvYf eCLbGAGEmuvI7FPg93Ed8zIbJQFcBgiYvtQRrVtxO139IUaoYLGwu6dr8SsaLqUDF4Ff BMTkfx+YFJ+04Kwxipw9TQBd7iiI3j+r8tV89xUOFAPxyyGJ0M9Ymvri5JEo289kgUfI mjdqlAk8YkrVtA5he07Ad4gLlDS0tV8GqHUrFICyfC3r7QandLNHhUGhinTvZIO7Oxrk PEvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=T5sNNaqrQKd3eXGFMOQd3MRFOUAz25rdQV0C3BnNoRw=; b=s0nio8V6KfY+Rjr4M/0WOxtbKyah3Vqi4kBlW0l63hOjxYIlws2WmDoIbSgB3vwiGs N+LkprIk7QoY/bVnQssXmLuqA9Fr5/S2VYlDM4OyXuKY2qBhPg8oYjRgIPOsmI1EJsZ6 /cV8syD7yJ/V8YyBeHfWN8EbblOn+hZbWzF02+dgMHCTJLVySowephGycDpR3bMbIHvK 4f73jlOCt/H5i8eKHirsshVU+2/gm2qLe6BHKu8l8OnzHlJFu54I7Dz8HxX2B5spwCf9 LL58+V0ylbTeVgjKwGYqvvhRQjfPVKWS04m4mMhgMn4UtIQoUA8ujcFW9svPqsVZc7Iu zzIg== X-Gm-Message-State: AOUpUlHh3d4z8WPbRC0Ott3vZI1CNr+fmT7SzDod7N6WbOxjDQ+Es/7M tXQgqAecFQzs3/jiD7wh+3DLCsZP X-Google-Smtp-Source: AAOMgpeg+Eu2pUSV9gq5KI24jz+zuoDaQ3r73cvFXAWT+ZLdGi4XqSOEa5/tB8ISNWaD4eFA8Xuxgg== X-Received: by 2002:a17:902:7c8e:: with SMTP id y14-v6mr3416164pll.265.1532639087244; Thu, 26 Jul 2018 14:04:47 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:06 +0530 Message-Id: <1532447562-24010-6-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:04:48 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:04:48 +0000 (UTC) for IP:'209.85.160.68' DOMAIN:'mail-pl0-f68.google.com' HELO:'mail-pl0-f68.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.68 mail-pl0-f68.google.com 209.85.160.68 mail-pl0-f68.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.49 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 05/41] util: buffer: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 26 Jul 2018 21:04:57 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar --- src/util/virbuffer.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/util/virbuffer.c b/src/util/virbuffer.c index f70069e..7e66b4d 100644 --- a/src/util/virbuffer.c +++ b/src/util/virbuffer.c @@ -693,7 +693,7 @@ virBufferEscapeN(virBufferPtr buf, char *out; const char *cur; virBufferEscapePair escapeItem; - virBufferEscapePairPtr escapeList =3D NULL; + VIR_AUTOPTR(virBufferEscapePair) escapeList =3D NULL; size_t nescapeList =3D 0; va_list ap; =20 @@ -751,7 +751,6 @@ virBufferEscapeN(virBufferPtr buf, =20 cleanup: va_end(ap); - VIR_FREE(escapeList); } =20 =20 --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639139668664.8568439655743; Thu, 26 Jul 2018 14:05:39 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id DF67B300271A; Thu, 26 Jul 2018 21:05:37 +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 ABEB216D3C; Thu, 26 Jul 2018 21:05:37 +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 5FB9824F60; Thu, 26 Jul 2018 21:05:37 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL4pto024680 for ; Thu, 26 Jul 2018 17:04:51 -0400 Received: by smtp.corp.redhat.com (Postfix) id 6D33661D3B; Thu, 26 Jul 2018 21:04:51 +0000 (UTC) Received: from mx1.redhat.com (ext-mx06.extmail.prod.ext.phx2.redhat.com [10.5.110.30]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AEEFC61D28 for ; Thu, 26 Jul 2018 21:04:50 +0000 (UTC) Received: from mail-pl0-f68.google.com (mail-pl0-f68.google.com [209.85.160.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E7D5B369C8 for ; Thu, 26 Jul 2018 21:04:49 +0000 (UTC) Received: by mail-pl0-f68.google.com with SMTP id b1-v6so1341192pls.5 for ; Thu, 26 Jul 2018 14:04:49 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=jFlPrSzvB5tamioCpddfMM42aa9vYp6BzOGb6APxGxM=; b=fG80ooFGfJ6UTERHkyUtOby32mYKLgh6Adqk3xDBxvoVb4qksxVsY3ygQJahuTH2LH wfaQXMwOSi9v72ANqWNSz3nuOoQOo+jiCMlfb8FwzNWxv8g1cvr87xfe985sikZknjw5 OsVdtthe9kKK9xluIKrdH1nWyT3bxVM3Wnp5n/Wfkw+RvAtenRsicx16WxK3kaUvI1EP 2se/KO/yjhTT/ftbVws4jQA7+sGdFHIit4Baqz7xyvrrCWNEC9vDcc+SxgB3gcY85euC 0iGyLoXA627x38emLVjDBwQ7d9hgIPfZuBbHaYJHuzQHAh5iHB86Zs0OUzFEXZYkw/b3 dZtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=jFlPrSzvB5tamioCpddfMM42aa9vYp6BzOGb6APxGxM=; b=qLTeIdnAyiF2nsgeT2NV6d4lvxAGJu+4Ngc8OJuV1Wy4tKogPghJd/vfDxwYkg0vVY rrlbwpSGmJimcdcZRe20EEY6PJWovSDpn+VPWUmGrQ2wyNbgLxXba8fQWVE22MWT/CLW fVTNyiz6ssCxy0cER6dx3FxyCmh8sdfzqU7lY8Zv/A+pfYfMQpjc+gxvoWzHEhovAFWe /pc7QtP/R8eT9eIGkzS+IuO685HQp4dkT12HZInCj0AtHj4LelnhqyFcWJtSlpPDUVmy CvHCbFpxyDN1MUDsy2kPzXRIPjf53g3670SKyyVNiugJA1vUZjzo0fEpTcGQm7Eg4lyI M1MQ== X-Gm-Message-State: AOUpUlF4d0Kfw7yYv4wNyvWAjrbqXQ4bV61nzdPWWoofMgZBYy/F6+Nh bIvyW71npwyHDGdz7Vg9QjWgNETf X-Google-Smtp-Source: AAOMgpeLSgGH+iDQ57ex+0hSuR3GTjjasUrEOO0rw7WD/cLFwc6Yxxr5ZubbAcL3TJGsBbfss9az9g== X-Received: by 2002:a17:902:6b46:: with SMTP id g6-v6mr3407136plt.251.1532639089222; Thu, 26 Jul 2018 14:04:49 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:07 +0530 Message-Id: <1532447562-24010-7-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:04:50 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:04:50 +0000 (UTC) for IP:'209.85.160.68' DOMAIN:'mail-pl0-f68.google.com' HELO:'mail-pl0-f68.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.68 mail-pl0-f68.google.com 209.85.160.68 mail-pl0-f68.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.30 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 06/41] util: hash: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 26 Jul 2018 21:05:38 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When variables of type virHashTablePtr are declared using VIR_AUTOPTR, the function virHashFree will be run automatically on it when it goes out of scope. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virhash.c | 1 - src/util/virhash.h | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/util/virhash.c b/src/util/virhash.c index ecda55d..006ffd8 100644 --- a/src/util/virhash.c +++ b/src/util/virhash.c @@ -26,7 +26,6 @@ =20 #include "virerror.h" #include "virhash.h" -#include "viralloc.h" #include "virlog.h" #include "virhashcode.h" #include "virrandom.h" diff --git a/src/util/virhash.h b/src/util/virhash.h index 5b24fc0..dd789c6 100644 --- a/src/util/virhash.h +++ b/src/util/virhash.h @@ -16,6 +16,8 @@ # include # include =20 +# include "viralloc.h" + /* * The hash table. */ @@ -200,4 +202,6 @@ void *virHashSearch(const virHashTable *table, virHashS= earcher iter, /* Convenience for when VIR_FREE(value) is sufficient as a data freer. */ void virHashValueFree(void *value, const void *name); =20 +VIR_DEFINE_AUTOPTR_FUNC(virHashTable, virHashFree) + #endif /* ! __VIR_HASH_H__ */ --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639146977626.418210269267; Thu, 26 Jul 2018 14:05:46 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 37728308404F; Thu, 26 Jul 2018 21:05:42 +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 F057C308BDB2; Thu, 26 Jul 2018 21:05: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 972761800BA6; Thu, 26 Jul 2018 21:05:41 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL4sCM024697 for ; Thu, 26 Jul 2018 17:04:54 -0400 Received: by smtp.corp.redhat.com (Postfix) id 320A460177; Thu, 26 Jul 2018 21:04:54 +0000 (UTC) Received: from mx1.redhat.com (ext-mx15.extmail.prod.ext.phx2.redhat.com [10.5.110.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 29F8860175 for ; Thu, 26 Jul 2018 21:04:54 +0000 (UTC) Received: from mail-pl0-f43.google.com (mail-pl0-f43.google.com [209.85.160.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7320D30832D2 for ; Thu, 26 Jul 2018 21:04:52 +0000 (UTC) Received: by mail-pl0-f43.google.com with SMTP id w8-v6so1339142ply.8 for ; Thu, 26 Jul 2018 14:04:52 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.49 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=fHlYDuAr5LjSbJr7DINUjeb7gezj9rBW3AYKJvnVdn8=; b=gDTPsQWt/k9C/tWXs/dSoCzhBMcZo1gY/i4XrWILyQ8OJwTzzCsyGXzfNAmDEsXkpn OeBBWxQPnCsD+jw9CYhoVdppieKNQyv57PIN2myBdTZogtitfia6JbO6kKLvkqpWcuF+ xC9/9eOaSTVEgyAIfJ8YAxiaJI84y05DFp14pDRBkQiLcQIg3MRCl9bOG4S9V+3r7dvX JhWtM7AatI9dKCYLvyMposTgnh4HIWx9uZHqZOO13G114Ie6P7wmvTAb+0nB18T9LzGX poi+cvVzUQUZbNEzZ583XHBEWa+4cHXE7vgquI5VTVIi29ye23BPpiClqYDYJOV2653H 0Ntw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=fHlYDuAr5LjSbJr7DINUjeb7gezj9rBW3AYKJvnVdn8=; b=c87y4F1AcDe/WZ8tTnCeut+oDwKzxE8RDcjhM9o4Yz/CeL6fKZTOkc9pi5kao8oVQg osoHQWMcdndHkdHhgJheqQHqy7lcilrm3JNnuNOy6Bws/psa8GI5/8hU6fOnpGD9Zu8X UCHU9fd74xKCHuGLZvEbuLjivIlP9Cyh4F6i8sFPdTX7vQlKp7ovsRNS2zYdpSbmdEcr v6X/04Mu7XEO9XZ3/DoTDisBOqGRQUjFyJTKDCtyiq5HQNFqdvnVS6meT1DsPG9rTAJy yG/k4Dxd6m4Sz5xZS+mgigtQK2SPMfE/IijHHP7k6M9O1tpISl4RHHJBkhPe/roT3yT7 8HTw== X-Gm-Message-State: AOUpUlGHSoHw4ngtkjWKWyuTevZEi/91MhBI5IA1yaFUGjwGYoMJnaWu Hy+BgsC142vdPbV3AwzJdWyKnirp X-Google-Smtp-Source: AAOMgpcbo8/kBW2Fi9brEdneITAJ2wHOqWadXDZIohOPUSkAKISloIVtL5uU39cHpXuAUBMJZbp+Tg== X-Received: by 2002:a17:902:68:: with SMTP id 95-v6mr3375095pla.178.1532639091376; Thu, 26 Jul 2018 14:04:51 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:08 +0530 Message-Id: <1532447562-24010-8-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Thu, 26 Jul 2018 21:04:52 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Thu, 26 Jul 2018 21:04:52 +0000 (UTC) for IP:'209.85.160.43' DOMAIN:'mail-pl0-f43.google.com' HELO:'mail-pl0-f43.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.39 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.43 mail-pl0-f43.google.com 209.85.160.43 mail-pl0-f43.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.44 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 07/41] util: cgroup: modify virCgroupFree to take virCgroupPtr 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:05:42 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Modify virCgroupFree function signature to take a value of type virCgroupPtr instead of virCgroupPtr * as the parameter. Change the argument type in all calls to virCgroupFree function from virCgroupPtr * to virCgroupPtr. This is a step towards having consistent function signatures for Free helpers so that they can be used with VIR_AUTOPTR cleanup macro. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/libvirt-lxc.c | 4 ++-- src/lxc/lxc_cgroup.c | 4 ++-- src/lxc/lxc_container.c | 2 +- src/lxc/lxc_controller.c | 2 +- src/lxc/lxc_domain.c | 2 +- src/lxc/lxc_process.c | 10 ++++----- src/qemu/qemu_cgroup.c | 16 +++++++------- src/qemu/qemu_domain.c | 2 +- src/qemu/qemu_driver.c | 34 ++++++++++++++--------------- src/qemu/qemu_process.c | 2 +- src/util/vircgroup.c | 56 ++++++++++++++++++++++++--------------------= ---- src/util/vircgroup.h | 2 +- tests/vircgrouptest.c | 42 ++++++++++++++++++------------------ 13 files changed, 88 insertions(+), 90 deletions(-) diff --git a/src/libvirt-lxc.c b/src/libvirt-lxc.c index c9f2146..12be893 100644 --- a/src/libvirt-lxc.c +++ b/src/libvirt-lxc.c @@ -309,12 +309,12 @@ int virDomainLxcEnterCGroup(virDomainPtr domain, if (virCgroupAddTask(cgroup, getpid()) < 0) goto error; =20 - virCgroupFree(&cgroup); + virCgroupFree(cgroup); =20 return 0; =20 error: virDispatchError(NULL); - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return -1; } diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c index 8e937ec..873c843 100644 --- a/src/lxc/lxc_cgroup.c +++ b/src/lxc/lxc_cgroup.c @@ -306,7 +306,7 @@ int virLXCCgroupGetMeminfo(virLXCMeminfoPtr meminfo) =20 ret =3D 0; cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 @@ -515,7 +515,7 @@ virCgroupPtr virLXCCgroupCreate(virDomainDefPtr def, def->idmap.uidmap[0].target, def->idmap.gidmap[0].target, (1 << VIR_CGROUP_CONTROLLER_SYSTEMD)) < 0) { - virCgroupFree(&cgroup); + virCgroupFree(cgroup); cgroup =3D NULL; goto cleanup; } diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c index 3a1b2d6..407214f 100644 --- a/src/lxc/lxc_container.c +++ b/src/lxc/lxc_container.c @@ -1815,7 +1815,7 @@ static int lxcContainerSetupPivotRoot(virDomainDefPtr= vmDef, =20 cleanup: VIR_FREE(stateDir); - virCgroupFree(&cgroup); + virCgroupFree(cgroup); VIR_FREE(sec_mount_options); return ret; } diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 4e84391..7be45f8 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -296,7 +296,7 @@ static void virLXCControllerFree(virLXCControllerPtr ct= rl) VIR_FREE(ctrl->nbdpids); =20 VIR_FREE(ctrl->nsFDs); - virCgroupFree(&ctrl->cgroup); + virCgroupFree(ctrl->cgroup); =20 /* This must always be the last thing to be closed */ VIR_FORCE_CLOSE(ctrl->handshakeFd); diff --git a/src/lxc/lxc_domain.c b/src/lxc/lxc_domain.c index b197f9d..eb0071d 100644 --- a/src/lxc/lxc_domain.c +++ b/src/lxc/lxc_domain.c @@ -172,7 +172,7 @@ virLXCDomainObjPrivateFree(void *data) { virLXCDomainObjPrivatePtr priv =3D data; =20 - virCgroupFree(&priv->cgroup); + virCgroupFree(priv->cgroup); virLXCDomainObjFreeJob(priv); VIR_FREE(priv); } diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index 14502e1..8534051 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -220,7 +220,7 @@ static void virLXCProcessCleanup(virLXCDriverPtr driver, =20 if (priv->cgroup) { virCgroupRemove(priv->cgroup); - virCgroupFree(&priv->cgroup); + virCgroupFree(priv->cgroup); } =20 /* Get machined to terminate the machine as it may not have cleaned it @@ -1203,26 +1203,26 @@ int virLXCProcessStart(virConnectPtr conn, =20 if (!virCgroupHasController(selfcgroup, VIR_CGROUP_CONTROLLER_CPUACCT)) { - virCgroupFree(&selfcgroup); + virCgroupFree(selfcgroup); virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Unable to find 'cpuacct' cgroups controller moun= t")); return -1; } if (!virCgroupHasController(selfcgroup, VIR_CGROUP_CONTROLLER_DEVICES)) { - virCgroupFree(&selfcgroup); + virCgroupFree(selfcgroup); virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Unable to find 'devices' cgroups controller moun= t")); return -1; } if (!virCgroupHasController(selfcgroup, VIR_CGROUP_CONTROLLER_MEMORY)) { - virCgroupFree(&selfcgroup); + virCgroupFree(selfcgroup); virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Unable to find 'memory' cgroups controller mount= ")); return -1; } - virCgroupFree(&selfcgroup); + virCgroupFree(selfcgroup); =20 if (vm->def->nconsoles =3D=3D 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c index 43e17d7..8a00ffc 100644 --- a/src/qemu/qemu_cgroup.c +++ b/src/qemu/qemu_cgroup.c @@ -841,7 +841,7 @@ qemuSetupCpusetMems(virDomainObjPtr vm) ret =3D 0; cleanup: VIR_FREE(mem_mask); - virCgroupFree(&cgroup_temp); + virCgroupFree(cgroup_temp); return ret; } =20 @@ -920,7 +920,7 @@ qemuInitCgroup(virDomainObjPtr vm, if (!virCgroupAvailable()) goto done; =20 - virCgroupFree(&priv->cgroup); + virCgroupFree(priv->cgroup); =20 if (!vm->def->resource) { virDomainResourceDefPtr res; @@ -1008,7 +1008,7 @@ qemuRestoreCgroupState(virDomainObjPtr vm) goto cleanup; =20 VIR_FREE(nodeset); - virCgroupFree(&cgroup_temp); + virCgroupFree(cgroup_temp); } =20 for (i =3D 0; i < vm->def->niothreadids; i++) { @@ -1021,7 +1021,7 @@ qemuRestoreCgroupState(virDomainObjPtr vm) goto cleanup; =20 VIR_FREE(nodeset); - virCgroupFree(&cgroup_temp); + virCgroupFree(cgroup_temp); } =20 if (virCgroupNewThread(priv->cgroup, VIR_CGROUP_THREAD_EMULATOR, 0, @@ -1035,7 +1035,7 @@ qemuRestoreCgroupState(virDomainObjPtr vm) VIR_FREE(mem_mask); VIR_FREE(nodeset); virBitmapFree(all_nodes); - virCgroupFree(&cgroup_temp); + virCgroupFree(cgroup_temp); return; =20 error: @@ -1057,7 +1057,7 @@ qemuConnectCgroup(virDomainObjPtr vm) if (!virCgroupAvailable()) goto done; =20 - virCgroupFree(&priv->cgroup); + virCgroupFree(priv->cgroup); =20 if (virCgroupNewDetectMachine(vm->def->name, "qemu", @@ -1203,7 +1203,7 @@ qemuSetupCgroupForExtDevices(virDomainObjPtr vm, ret =3D qemuExtDevicesSetupCgroup(driver, vm->def, cgroup_temp); =20 cleanup: - virCgroupFree(&cgroup_temp); + virCgroupFree(cgroup_temp); =20 return ret; } @@ -1281,7 +1281,7 @@ qemuCgroupEmulatorAllNodesDataFree(qemuCgroupEmulator= AllNodesDataPtr data) if (!data) return; =20 - virCgroupFree(&data->emulatorCgroup); + virCgroupFree(data->emulatorCgroup); VIR_FREE(data->emulatorMemMask); VIR_FREE(data); } diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index de05627..bda5381 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1920,7 +1920,7 @@ qemuDomainObjPrivateDataClear(qemuDomainObjPrivatePtr= priv) virStringListFree(priv->qemuDevices); priv->qemuDevices =3D NULL; =20 - virCgroupFree(&priv->cgroup); + virCgroupFree(priv->cgroup); =20 virPerfFree(priv->perf); priv->perf =3D NULL; diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index ca04be3..c2d3bd5 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -5075,7 +5075,7 @@ qemuDomainPinVcpuLive(virDomainObjPtr vm, =20 cleanup: virBitmapFree(tmpmap); - virCgroupFree(&cgroup_vcpu); + virCgroupFree(cgroup_vcpu); VIR_FREE(str); virObjectEventStateQueue(driver->domainEventState, event); return ret; @@ -5312,8 +5312,7 @@ qemuDomainPinEmulator(virDomainPtr dom, qemuDomainObjEndJob(driver, vm); =20 cleanup: - if (cgroup_emulator) - virCgroupFree(&cgroup_emulator); + virCgroupFree(cgroup_emulator); virObjectEventStateQueue(driver->domainEventState, event); VIR_FREE(str); virBitmapFree(pcpumap); @@ -5794,8 +5793,7 @@ qemuDomainPinIOThread(virDomainPtr dom, qemuDomainObjEndJob(driver, vm); =20 cleanup: - if (cgroup_iothread) - virCgroupFree(&cgroup_iothread); + virCgroupFree(cgroup_iothread); virObjectEventStateQueue(driver->domainEventState, event); VIR_FREE(str); virBitmapFree(pcpumap); @@ -9855,7 +9853,7 @@ qemuDomainSetNumaParamsLive(virDomainObjPtr vm, false, &cgroup_temp) < 0 || virCgroupSetCpusetMems(cgroup_temp, nodeset_str) < 0) goto cleanup; - virCgroupFree(&cgroup_temp); + virCgroupFree(cgroup_temp); =20 for (i =3D 0; i < virDomainDefGetVcpusMax(vm->def); i++) { virDomainVcpuDefPtr vcpu =3D virDomainDefGetVcpu(vm->def, i); @@ -9867,7 +9865,7 @@ qemuDomainSetNumaParamsLive(virDomainObjPtr vm, false, &cgroup_temp) < 0 || virCgroupSetCpusetMems(cgroup_temp, nodeset_str) < 0) goto cleanup; - virCgroupFree(&cgroup_temp); + virCgroupFree(cgroup_temp); } =20 for (i =3D 0; i < vm->def->niothreadids; i++) { @@ -9876,13 +9874,13 @@ qemuDomainSetNumaParamsLive(virDomainObjPtr vm, false, &cgroup_temp) < 0 || virCgroupSetCpusetMems(cgroup_temp, nodeset_str) < 0) goto cleanup; - virCgroupFree(&cgroup_temp); + virCgroupFree(cgroup_temp); } =20 ret =3D 0; cleanup: VIR_FREE(nodeset_str); - virCgroupFree(&cgroup_temp); + virCgroupFree(cgroup_temp); =20 return ret; } @@ -10304,13 +10302,13 @@ qemuSetVcpusBWLive(virDomainObjPtr vm, virCgroupP= tr cgroup, if (qemuSetupCgroupVcpuBW(cgroup_vcpu, period, quota) < 0) goto cleanup; =20 - virCgroupFree(&cgroup_vcpu); + virCgroupFree(cgroup_vcpu); } =20 return 0; =20 cleanup: - virCgroupFree(&cgroup_vcpu); + virCgroupFree(cgroup_vcpu); return -1; } =20 @@ -10331,11 +10329,11 @@ qemuSetEmulatorBandwidthLive(virCgroupPtr cgroup, if (qemuSetupCgroupVcpuBW(cgroup_emulator, period, quota) < 0) goto cleanup; =20 - virCgroupFree(&cgroup_emulator); + virCgroupFree(cgroup_emulator); return 0; =20 cleanup: - virCgroupFree(&cgroup_emulator); + virCgroupFree(cgroup_emulator); return -1; } =20 @@ -10362,13 +10360,13 @@ qemuSetIOThreadsBWLive(virDomainObjPtr vm, virCgr= oupPtr cgroup, if (qemuSetupCgroupVcpuBW(cgroup_iothread, period, quota) < 0) goto cleanup; =20 - virCgroupFree(&cgroup_iothread); + virCgroupFree(cgroup_iothread); } =20 return 0; =20 cleanup: - virCgroupFree(&cgroup_iothread); + virCgroupFree(cgroup_iothread); return -1; } =20 @@ -10754,7 +10752,7 @@ qemuGetVcpusBWLive(virDomainObjPtr vm, ret =3D 0; =20 cleanup: - virCgroupFree(&cgroup_vcpu); + virCgroupFree(cgroup_vcpu); return ret; } =20 @@ -10777,7 +10775,7 @@ qemuGetEmulatorBandwidthLive(virCgroupPtr cgroup, ret =3D 0; =20 cleanup: - virCgroupFree(&cgroup_emulator); + virCgroupFree(cgroup_emulator); return ret; } =20 @@ -10813,7 +10811,7 @@ qemuGetIOThreadsBWLive(virDomainObjPtr vm, ret =3D 0; =20 cleanup: - virCgroupFree(&cgroup_iothread); + virCgroupFree(cgroup_iothread); return ret; } =20 diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index bba157b..59dc3fe 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -2532,7 +2532,7 @@ qemuProcessSetupPid(virDomainObjPtr vm, if (cgroup) { if (ret < 0) virCgroupRemove(cgroup); - virCgroupFree(&cgroup); + virCgroupFree(cgroup); } =20 return ret; diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c index e810a3d..140b016 100644 --- a/src/util/vircgroup.c +++ b/src/util/vircgroup.c @@ -1178,7 +1178,7 @@ virCgroupNew(pid_t pid, return 0; =20 error: - virCgroupFree(group); + virCgroupFree(*group); *group =3D NULL; =20 return -1; @@ -1379,8 +1379,8 @@ virCgroupNewPartition(const char *path, ret =3D 0; cleanup: if (ret !=3D 0) - virCgroupFree(group); - virCgroupFree(&parent); + virCgroupFree(*group); + virCgroupFree(parent); VIR_FREE(parentPath); VIR_FREE(newPath); return ret; @@ -1447,7 +1447,7 @@ virCgroupNewDomainPartition(virCgroupPtr partition, if (virCgroupMakeGroup(partition, *group, create, VIR_CGROUP_MEM_HIERACHY) < 0) { virCgroupRemove(*group); - virCgroupFree(group); + virCgroupFree(*group); goto cleanup; } =20 @@ -1509,7 +1509,7 @@ virCgroupNewThread(virCgroupPtr domain, =20 if (virCgroupMakeGroup(domain, *group, create, VIR_CGROUP_NONE) < 0) { virCgroupRemove(*group); - virCgroupFree(group); + virCgroupFree(*group); goto cleanup; } =20 @@ -1550,7 +1550,7 @@ virCgroupNewDetectMachine(const char *name, true, machinename)) { VIR_DEBUG("Failed to validate machine name for '%s' driver '%s'", name, drivername); - virCgroupFree(group); + virCgroupFree(*group); return 0; } =20 @@ -1603,7 +1603,7 @@ virCgroupNewMachineSystemd(const char *name, =20 path =3D init->controllers[VIR_CGROUP_CONTROLLER_SYSTEMD].placement; init->controllers[VIR_CGROUP_CONTROLLER_SYSTEMD].placement =3D NULL; - virCgroupFree(&init); + virCgroupFree(init); =20 if (!path || STREQ(path, "/") || path[0] !=3D '/') { VIR_DEBUG("Systemd didn't setup its controller"); @@ -1635,13 +1635,13 @@ virCgroupNewMachineSystemd(const char *name, goto cleanup; =20 if (virCgroupMakeGroup(parent, tmp, true, VIR_CGROUP_NONE) < 0) { - virCgroupFree(&tmp); + virCgroupFree(tmp); goto cleanup; } if (t) { *t =3D '/'; offset =3D t; - virCgroupFree(&parent); + virCgroupFree(parent); parent =3D tmp; } else { *group =3D tmp; @@ -1652,7 +1652,7 @@ virCgroupNewMachineSystemd(const char *name, if (virCgroupAddTask(*group, pidleader) < 0) { virErrorPtr saved =3D virSaveLastError(); virCgroupRemove(*group); - virCgroupFree(group); + virCgroupFree(*group); if (saved) { virSetError(saved); virFreeError(saved); @@ -1661,7 +1661,7 @@ virCgroupNewMachineSystemd(const char *name, =20 ret =3D 0; cleanup: - virCgroupFree(&parent); + virCgroupFree(parent); VIR_FREE(path); return ret; } @@ -1708,7 +1708,7 @@ virCgroupNewMachineManual(const char *name, if (virCgroupAddTask(*group, pidleader) < 0) { virErrorPtr saved =3D virSaveLastError(); virCgroupRemove(*group); - virCgroupFree(group); + virCgroupFree(*group); if (saved) { virSetError(saved); virFreeError(saved); @@ -1719,7 +1719,7 @@ virCgroupNewMachineManual(const char *name, ret =3D 0; =20 cleanup: - virCgroupFree(&parent); + virCgroupFree(parent); return ret; } =20 @@ -1786,21 +1786,21 @@ virCgroupNewIgnoreError(void) * @group: The group structure to free */ void -virCgroupFree(virCgroupPtr *group) +virCgroupFree(virCgroupPtr group) { size_t i; =20 - if (*group =3D=3D NULL) + if (!group) return; =20 for (i =3D 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) { - VIR_FREE((*group)->controllers[i].mountPoint); - VIR_FREE((*group)->controllers[i].linkPoint); - VIR_FREE((*group)->controllers[i].placement); + VIR_FREE(group->controllers[i].mountPoint); + VIR_FREE(group->controllers[i].linkPoint); + VIR_FREE(group->controllers[i].placement); } =20 - VIR_FREE((*group)->path); - VIR_FREE(*group); + VIR_FREE(group->path); + VIR_FREE(group); } =20 =20 @@ -2514,7 +2514,7 @@ virCgroupMemoryOnceInit(void) "memory.limit_in_bytes", &mem_unlimited)); cleanup: - virCgroupFree(&group); + virCgroupFree(group); virCgroupMemoryUnlimitedKB =3D mem_unlimited >> 10; } =20 @@ -3158,13 +3158,13 @@ virCgroupGetPercpuVcpuSum(virCgroupPtr group, sum_cpu_time[j] +=3D tmp; } =20 - virCgroupFree(&group_vcpu); + virCgroupFree(group_vcpu); VIR_FREE(buf); } =20 ret =3D 0; cleanup: - virCgroupFree(&group_vcpu); + virCgroupFree(group_vcpu); VIR_FREE(buf); return ret; } @@ -3722,7 +3722,7 @@ virCgroupKillRecursiveInternal(virCgroupPtr group, if (dormdir) virCgroupRemove(subgroup); =20 - virCgroupFree(&subgroup); + virCgroupFree(subgroup); } if (direrr < 0) goto cleanup; @@ -3731,7 +3731,7 @@ virCgroupKillRecursiveInternal(virCgroupPtr group, ret =3D killedAny ? 1 : 0; =20 cleanup: - virCgroupFree(&subgroup); + virCgroupFree(subgroup); VIR_FREE(keypath); VIR_DIR_CLOSE(dp); return ret; @@ -4118,7 +4118,7 @@ virCgroupControllerAvailable(int controller) return ret; =20 ret =3D virCgroupHasController(cgroup, controller); - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 @@ -4250,7 +4250,7 @@ virCgroupNewIgnoreError(void) =20 =20 void -virCgroupFree(virCgroupPtr *group ATTRIBUTE_UNUSED) +virCgroupFree(virCgroupPtr group ATTRIBUTE_UNUSED) { virReportSystemError(ENXIO, "%s", _("Control groups not supported on this platform"= )); @@ -4915,7 +4915,7 @@ virCgroupDelThread(virCgroupPtr cgroup, =20 /* Remove the offlined cgroup */ virCgroupRemove(new_cgroup); - virCgroupFree(&new_cgroup); + virCgroupFree(new_cgroup); } =20 return 0; diff --git a/src/util/vircgroup.h b/src/util/vircgroup.h index d833927..e4ffd57 100644 --- a/src/util/vircgroup.h +++ b/src/util/vircgroup.h @@ -122,7 +122,7 @@ int virCgroupTerminateMachine(const char *name) =20 bool virCgroupNewIgnoreError(void); =20 -void virCgroupFree(virCgroupPtr *group); +void virCgroupFree(virCgroupPtr group); =20 bool virCgroupHasController(virCgroupPtr cgroup, int controller); int virCgroupPathOfController(virCgroupPtr group, diff --git a/tests/vircgrouptest.c b/tests/vircgrouptest.c index be50f3e..e5190e3 100644 --- a/tests/vircgrouptest.c +++ b/tests/vircgrouptest.c @@ -198,7 +198,7 @@ testCgroupDetectMounts(const void *args) cleanup: VIR_FREE(mounts); VIR_FREE(parsed); - virCgroupFree(&group); + virCgroupFree(group); virBufferFreeAndReset(&buf); return result; } @@ -227,7 +227,7 @@ static int testCgroupNewForSelf(const void *args ATTRIB= UTE_UNUSED) ret =3D validateCgroup(cgroup, "", mountsFull, links, placement); =20 cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 @@ -304,7 +304,7 @@ static int testCgroupNewForPartition(const void *args A= TTRIBUTE_UNUSED) goto cleanup; } ret =3D validateCgroup(cgroup, "/virtualmachines.partition", mountsSma= ll, links, placementSmall); - virCgroupFree(&cgroup); + virCgroupFree(cgroup); =20 if ((rv =3D virCgroupNewPartition("/virtualmachines", true, -1, &cgrou= p)) !=3D 0) { fprintf(stderr, "Cannot create /virtualmachines cgroup: %d\n", -rv= ); @@ -313,7 +313,7 @@ static int testCgroupNewForPartition(const void *args A= TTRIBUTE_UNUSED) ret =3D validateCgroup(cgroup, "/virtualmachines.partition", mountsFul= l, links, placementFull); =20 cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 @@ -353,7 +353,7 @@ static int testCgroupNewForPartitionNested(const void *= args ATTRIBUTE_UNUSED) } =20 /* Should now work */ - virCgroupFree(&cgroup); + virCgroupFree(cgroup); if ((rv =3D virCgroupNewPartition("/deployment/production", true, -1, = &cgroup)) !=3D 0) { fprintf(stderr, "Failed to create /deployment/production cgroup: %= d\n", -rv); goto cleanup; @@ -363,7 +363,7 @@ static int testCgroupNewForPartitionNested(const void *= args ATTRIBUTE_UNUSED) mountsFull, links, placementFull); =20 cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 @@ -402,14 +402,14 @@ static int testCgroupNewForPartitionNestedDeep(const = void *args ATTRIBUTE_UNUSED goto cleanup; } =20 - virCgroupFree(&cgroup); + virCgroupFree(cgroup); if ((rv =3D virCgroupNewPartition("/user/berrange.user", true, -1, &cg= roup)) !=3D 0) { fprintf(stderr, "Failed to create /user/berrange.user cgroup: %d\n= ", -rv); goto cleanup; } =20 /* Should now work */ - virCgroupFree(&cgroup); + virCgroupFree(cgroup); if ((rv =3D virCgroupNewPartition("/user/berrange.user/production", tr= ue, -1, &cgroup)) !=3D 0) { fprintf(stderr, "Failed to create /user/berrange.user/production c= group: %d\n", -rv); goto cleanup; @@ -419,7 +419,7 @@ static int testCgroupNewForPartitionNestedDeep(const vo= id *args ATTRIBUTE_UNUSED mountsFull, links, placementFull); =20 cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 @@ -455,8 +455,8 @@ static int testCgroupNewForPartitionDomain(const void *= args ATTRIBUTE_UNUSED) ret =3D validateCgroup(domaincgroup, "/production.partition/foo.libvir= t-lxc", mountsFull, links, placement); =20 cleanup: - virCgroupFree(&partitioncgroup); - virCgroupFree(&domaincgroup); + virCgroupFree(partitioncgroup); + virCgroupFree(domaincgroup); return ret; } =20 @@ -506,10 +506,10 @@ static int testCgroupNewForPartitionDomainEscaped(con= st void *args ATTRIBUTE_UNU ret =3D validateCgroup(domaincgroup, "/_cgroup.evil/net_cls.evil/__evi= l.evil/_cpu.foo.libvirt-lxc", mountsFull, links, placement); =20 cleanup: - virCgroupFree(&partitioncgroup3); - virCgroupFree(&partitioncgroup2); - virCgroupFree(&partitioncgroup1); - virCgroupFree(&domaincgroup); + virCgroupFree(partitioncgroup3); + virCgroupFree(partitioncgroup2); + virCgroupFree(partitioncgroup1); + virCgroupFree(domaincgroup); return ret; } =20 @@ -535,7 +535,7 @@ static int testCgroupNewForSelfAllInOne(const void *arg= s ATTRIBUTE_UNUSED) ret =3D validateCgroup(cgroup, "", mountsAllInOne, linksAllInOne, plac= ement); =20 cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 @@ -563,7 +563,7 @@ static int testCgroupNewForSelfLogind(const void *args = ATTRIBUTE_UNUSED) ret =3D validateCgroup(cgroup, "", mountsLogind, linksLogind, placemen= t); =20 cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 @@ -690,7 +690,7 @@ static int testCgroupGetPercpuStats(const void *args AT= TRIBUTE_UNUSED) ret =3D 0; =20 cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); VIR_FREE(params); return ret; } @@ -723,7 +723,7 @@ static int testCgroupGetMemoryUsage(const void *args AT= TRIBUTE_UNUSED) ret =3D 0; =20 cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 @@ -773,7 +773,7 @@ static int testCgroupGetBlkioIoServiced(const void *arg= s ATTRIBUTE_UNUSED) ret =3D 0; =20 cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 @@ -846,7 +846,7 @@ static int testCgroupGetBlkioIoDeviceServiced(const voi= d *args ATTRIBUTE_UNUSED) ret =3D 0; =20 cleanup: - virCgroupFree(&cgroup); + virCgroupFree(cgroup); return ret; } =20 --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639159058329.46085366541695; Thu, 26 Jul 2018 14:05:59 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 6D0BFD3C38; Thu, 26 Jul 2018 21:05:46 +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 3456A608F8; Thu, 26 Jul 2018 21:05: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 D154824F67; Thu, 26 Jul 2018 21:05:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL4t7J024706 for ; Thu, 26 Jul 2018 17:04:55 -0400 Received: by smtp.corp.redhat.com (Postfix) id 937F961D3D; Thu, 26 Jul 2018 21:04:55 +0000 (UTC) Received: from mx1.redhat.com (ext-mx03.extmail.prod.ext.phx2.redhat.com [10.5.110.27]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8C50661D3B for ; Thu, 26 Jul 2018 21:04:55 +0000 (UTC) Received: from mail-pl0-f52.google.com (mail-pl0-f52.google.com [209.85.160.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 234A183F45 for ; Thu, 26 Jul 2018 21:04:54 +0000 (UTC) Received: by mail-pl0-f52.google.com with SMTP id z7-v6so1336756plo.9 for ; Thu, 26 Jul 2018 14:04:54 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.51 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=eGbyno/af3AbJ/g+LvLGvmuzg1t8FMG7l8hqzRxTTTs=; b=mT7geSw/532BGcUsrxVHMJb8rLwRTszXQoggmovwnG2we/HHbs8P/qmCpetY0lNZ1t S6E97qy8BMvxVSOfq/08edy6udb8SyxgVV8LI+ZhvsEqFYrDYX5oRTFbm/Ty7qDQFr9S ZIyR/W3Qf7CaMIZ0fDlfRH0WMicv6vXAb3YPv9kxOQ5Rg5tU7CJ6malB0Rz/scsI0IJm yoeGljfq8NtvyXtFEm4aW5dxdaSaKn+xKEqMIKQc+7SoIrCpRwipB56Eg78Q7N0ptA2K CzRT1QCA3pUvfcC4I4r9EX7zEu6b8pdw1EyqQcBDqB36UBkKKSzmqHwF5cmn1C4KX2u7 PxtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=eGbyno/af3AbJ/g+LvLGvmuzg1t8FMG7l8hqzRxTTTs=; b=TxjPHvkkaWfpK5nvMSGU4tfPNdI/vrX26MuEkFPYZl1wtzJRYVGgGymcfk3CMBG8Mw JeESinaPi2lcS/addyVl59w1pFGTI+vr5gzkES8WYWXoz+EruJTW1CXEOCJ194kew5Vw EwoTBSUqQGcTYW6cyCT2xf6vWjWPlN2bn9267je5ZCL5hde3mtOeiZ+eWk2Etx8vUxFA PwDHDWYm2M4eevpzUcQ+L9Ar8TfaF6qzS8XMjnqCP104+kGX/YmuP8Tb7HltdrLSzI+2 /sBTaXhFywTcbOkjLJq84EqET38lrKv03e6ypohIDRS9jjTEDimuItEIN/qevLF6QeHS /xuw== X-Gm-Message-State: AOUpUlGeqxHNGSnGAUOo4U2gq7ez6+2ecX3WsHXjCeWDvj347MEwCo9f EjZf2UhgeQs4YNyQFLj9zXjDq23C X-Google-Smtp-Source: AAOMgpdvr/izhnPlcvBgMvicjR25xINhSxr6ufZHUMFU3p7xEXKKFPY4OEo72FyouL+ZIAMNTy4tNw== X-Received: by 2002:a17:902:f83:: with SMTP id 3-v6mr3341658plz.282.1532639093390; Thu, 26 Jul 2018 14:04:53 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:09 +0530 Message-Id: <1532447562-24010-9-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 26 Jul 2018 21:04:54 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 26 Jul 2018 21:04:54 +0000 (UTC) for IP:'209.85.160.52' DOMAIN:'mail-pl0-f52.google.com' HELO:'mail-pl0-f52.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.39 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.52 mail-pl0-f52.google.com 209.85.160.52 mail-pl0-f52.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.27 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 08/41] util: cgroup: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:05:56 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When a variable of type virCgroupPtr is declared using VIR_AUTOPTR, the function virCgroupFree will be run automatically on it when it goes out of scope. This commit also adds an intermediate typedef for virCgroup type for use with the cleanup macros. Signed-off-by: Sukrit Bhatnagar --- src/util/vircgroup.c | 1 - src/util/vircgroup.h | 9 +++++++-- src/util/vircgrouppriv.h | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c index 140b016..bc5f774 100644 --- a/src/util/vircgroup.c +++ b/src/util/vircgroup.c @@ -50,7 +50,6 @@ #include "vircgrouppriv.h" =20 #include "virutil.h" -#include "viralloc.h" #include "virerror.h" #include "virlog.h" #include "virfile.h" diff --git a/src/util/vircgroup.h b/src/util/vircgroup.h index e4ffd57..065861d 100644 --- a/src/util/vircgroup.h +++ b/src/util/vircgroup.h @@ -27,9 +27,11 @@ =20 # include "virutil.h" # include "virbitmap.h" +# include "viralloc.h" =20 -struct virCgroup; -typedef struct virCgroup *virCgroupPtr; +struct _virCgroup; +typedef struct _virCgroup virCgroup; +typedef virCgroup *virCgroupPtr; =20 enum { VIR_CGROUP_CONTROLLER_CPU, @@ -297,4 +299,7 @@ int virCgroupSetOwner(virCgroupPtr cgroup, int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller); =20 bool virCgroupControllerAvailable(int controller); + +VIR_DEFINE_AUTOPTR_FUNC(virCgroup, virCgroupFree) + #endif /* __VIR_CGROUP_H__ */ diff --git a/src/util/vircgrouppriv.h b/src/util/vircgrouppriv.h index 722863e..a72bee1 100644 --- a/src/util/vircgrouppriv.h +++ b/src/util/vircgrouppriv.h @@ -42,7 +42,7 @@ struct virCgroupController { char *placement; }; =20 -struct virCgroup { +struct _virCgroup { char *path; =20 struct virCgroupController controllers[VIR_CGROUP_CONTROLLER_LAST]; --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 15326391597681003.9762223663537; Thu, 26 Jul 2018 14:05:59 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B6B363002F8C; Thu, 26 Jul 2018 21:05:57 +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 4162C2010CC4; Thu, 26 Jul 2018 21:05:57 +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 D136824F13; Thu, 26 Jul 2018 21:05:56 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL51eh024751 for ; Thu, 26 Jul 2018 17:05:02 -0400 Received: by smtp.corp.redhat.com (Postfix) id ED82E5ED3A; Thu, 26 Jul 2018 21:05:01 +0000 (UTC) Received: from mx1.redhat.com (ext-mx11.extmail.prod.ext.phx2.redhat.com [10.5.110.40]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E115960C20 for ; Thu, 26 Jul 2018 21:04:59 +0000 (UTC) Received: from mail-pl0-f67.google.com (mail-pl0-f67.google.com [209.85.160.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0238F30841AB for ; Thu, 26 Jul 2018 21:04:57 +0000 (UTC) Received: by mail-pl0-f67.google.com with SMTP id z7-v6so1336801plo.9 for ; Thu, 26 Jul 2018 14:04:56 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.53 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=dc3fiFhFqX3xb18VsoO+J/pbT16QV4RUcStf3Rpkg3k=; b=CC2xonoG28uBcUsoqb5Auswsg4E1ivX43gZ97iv2dSwMTSrkgvOHJlb4uy0rr7SQ1Z RW3zNHPFqEL2/Lkm4mJINYIasjD3zAuihgHyuI+l4cxiIMeF0HypBeAH2AvdDBYZ1ANh i4SgHY2wIAdGSq7IWs+d/MSNsULgY42BgOEHIBh72IBAIb6QqXJD2hbApnw7yJtjd+s/ sxU2A4OVVxBbTAft8ecrnRt7mmh5Iyz21fFskXufb2lvG+94oHMmTmBM/vz4L6vZbv4/ zb9zLdhhD2kWK2nkb1slG7THYJ5vYIloIJILkbPWAwYwbV6cxcz2P6Tst22HCd9JI4U4 KAYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=dc3fiFhFqX3xb18VsoO+J/pbT16QV4RUcStf3Rpkg3k=; b=n4dvIxNGDSBpyM35kR6J4mHyZO9Ci3hhBogxfSXFcQA5ultLXoj9iuI2z87E8lDHfL EzEmluII6GyHkl+kimlyqOfhBe0rTbLsOqYouM9Hp5nMaTb7SeJPJw8Kce55JE0v7+Iy QlEJrUA5VsH1XURBY8euSchPuNYlpm/Zz2vrp5s86VE8bFatB86yJ/eStKZSJvAg9bFA e8szbeeZatsDHYxk7ufdZE5IEVujUR1cK8GgDzUSdF3KLJCfTFzGnZ7AjJNqjn302aMe ebnRNMq8AdPAAj7Cpw7YBJAUwiBQKSS2bksxIIU4EnIjVi3QOVM1M5Wb59XY3az/isOQ QBvw== X-Gm-Message-State: AOUpUlGgKo0UjVaBRXGy8tp0fZoDrWdRSt23J/KzHo77/9ARdc9h9/ip MWgD/+6pjv+16MYWwo1PI4Ae9bqv X-Google-Smtp-Source: AAOMgpc9m3gIUEPe4FtzwOIejDIhtXz8ICJ7m5qQ5WfAaZ3bCf+Teb3ZpiJVFF3n1rPpkjA7nsIuKg== X-Received: by 2002:a17:902:82c7:: with SMTP id u7-v6mr3357755plz.83.1532639095861; Thu, 26 Jul 2018 14:04:55 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:10 +0530 Message-Id: <1532447562-24010-10-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:04:57 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:04:57 +0000 (UTC) for IP:'209.85.160.67' DOMAIN:'mail-pl0-f67.google.com' HELO:'mail-pl0-f67.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.67 mail-pl0-f67.google.com 209.85.160.67 mail-pl0-f67.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.40 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 09/41] util: cgroup: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Thu, 26 Jul 2018 21:05:58 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/vircgroup.c | 528 ++++++++++++++++++-----------------------------= ---- 1 file changed, 181 insertions(+), 347 deletions(-) diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c index bc5f774..6f7b5b4 100644 --- a/src/util/vircgroup.c +++ b/src/util/vircgroup.c @@ -162,7 +162,7 @@ virCgroupPartitionNeedsEscaping(const char *path) { FILE *fp =3D NULL; int ret =3D 0; - char *line =3D NULL; + VIR_AUTOFREE(char *) line =3D NULL; size_t buflen; =20 /* If it starts with 'cgroup.' or a '_' of any @@ -222,7 +222,6 @@ virCgroupPartitionNeedsEscaping(const char *path) } =20 cleanup: - VIR_FREE(line); VIR_FORCE_FCLOSE(fp); return ret; } @@ -255,41 +254,40 @@ virCgroupValidateMachineGroup(virCgroupPtr group, const char *machinename) { size_t i; - bool valid =3D false; - char *partname =3D NULL; - char *scopename_old =3D NULL; - char *scopename_new =3D NULL; - char *partmachinename =3D NULL; + VIR_AUTOFREE(char *) partname =3D NULL; + VIR_AUTOFREE(char *) scopename_old =3D NULL; + VIR_AUTOFREE(char *) scopename_new =3D NULL; + VIR_AUTOFREE(char *) partmachinename =3D NULL; =20 if (virAsprintf(&partname, "%s.libvirt-%s", name, drivername) < 0) - goto cleanup; + return false; =20 if (virCgroupPartitionEscape(&partname) < 0) - goto cleanup; + return false; =20 if (machinename && (virAsprintf(&partmachinename, "%s.libvirt-%s", machinename, drivername) < 0 || virCgroupPartitionEscape(&partmachinename) < 0)) - goto cleanup; + return false; =20 if (!(scopename_old =3D virSystemdMakeScopeName(name, drivername, true= ))) - goto cleanup; + return false; =20 /* We should keep trying even if this failed */ if (!machinename) virResetLastError(); else if (!(scopename_new =3D virSystemdMakeScopeName(machinename, drivername, false))) - goto cleanup; + return false; =20 if (virCgroupPartitionEscape(&scopename_old) < 0) - goto cleanup; + return false; =20 if (scopename_new && virCgroupPartitionEscape(&scopename_new) < 0) - goto cleanup; + return false; =20 for (i =3D 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) { char *tmp; @@ -302,7 +300,7 @@ virCgroupValidateMachineGroup(virCgroupPtr group, =20 tmp =3D strrchr(group->controllers[i].placement, '/'); if (!tmp) - goto cleanup; + return false; =20 if (stripEmulatorSuffix && (i =3D=3D VIR_CGROUP_CONTROLLER_CPU || @@ -312,7 +310,7 @@ virCgroupValidateMachineGroup(virCgroupPtr group, *tmp =3D '\0'; tmp =3D strrchr(group->controllers[i].placement, '/'); if (!tmp) - goto cleanup; + return false; } =20 tmp++; @@ -328,18 +326,11 @@ virCgroupValidateMachineGroup(virCgroupPtr group, tmp, virCgroupControllerTypeToString(i), name, NULLSTR(machinename), partname, scopename_old, NULLSTR(scopename_new)); - goto cleanup; + return false; } } =20 - valid =3D true; - - cleanup: - VIR_FREE(partmachinename); - VIR_FREE(partname); - VIR_FREE(scopename_old); - VIR_FREE(scopename_new); - return valid; + return true; } =20 =20 @@ -377,7 +368,6 @@ virCgroupDetectMountsFromFile(virCgroupPtr group, FILE *mounts =3D NULL; struct mntent entry; char buf[CGROUP_MAX_VAL]; - char *linksrc =3D NULL; int ret =3D -1; =20 mounts =3D fopen(path, "r"); @@ -432,8 +422,9 @@ virCgroupDetectMountsFromFile(virCgroupPtr group, /* If it is a co-mount it has a filename like "cpu,cpu= acct" * and we must identify the symlink path */ if (checkLinks && strchr(tmp2 + 1, ',')) { + VIR_AUTOFREE(char *) linksrc =3D NULL; + *tmp2 =3D '\0'; - VIR_FREE(linksrc); if (virAsprintf(&linksrc, "%s/%s", entry.mnt_dir, typestr) < 0) goto cleanup; @@ -467,7 +458,6 @@ virCgroupDetectMountsFromFile(virCgroupPtr group, =20 ret =3D 0; cleanup: - VIR_FREE(linksrc); VIR_FORCE_FCLOSE(mounts); return ret; } @@ -546,7 +536,7 @@ virCgroupDetectPlacement(virCgroupPtr group, FILE *mapping =3D NULL; char line[1024]; int ret =3D -1; - char *procfile; + VIR_AUTOFREE(char *) procfile =3D NULL; =20 VIR_DEBUG("Detecting placement for pid %lld path %s", (long long) pid, path); @@ -627,9 +617,7 @@ virCgroupDetectPlacement(virCgroupPtr group, ret =3D 0; =20 cleanup: - VIR_FREE(procfile); VIR_FORCE_FCLOSE(mapping); - return ret; } =20 @@ -785,8 +773,7 @@ virCgroupSetValueStr(virCgroupPtr group, const char *key, const char *value) { - int ret =3D -1; - char *keypath =3D NULL; + VIR_AUTOFREE(char *) keypath =3D NULL; char *tmp =3D NULL; =20 if (virCgroupPathOfController(group, controller, key, &keypath) < 0) @@ -799,18 +786,14 @@ virCgroupSetValueStr(virCgroupPtr group, virReportSystemError(errno, _("Invalid value '%s' for '%s'"), value, tmp + 1); - goto cleanup; + return -1; } virReportSystemError(errno, _("Unable to write to '%s'"), keypath); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(keypath); - return ret; + return 0; } =20 =20 @@ -820,8 +803,8 @@ virCgroupGetValueStr(virCgroupPtr group, const char *key, char **value) { - char *keypath =3D NULL; - int ret =3D -1, rc; + VIR_AUTOFREE(char *) keypath =3D NULL; + int rc; =20 *value =3D NULL; =20 @@ -833,18 +816,14 @@ virCgroupGetValueStr(virCgroupPtr group, if ((rc =3D virFileReadAll(keypath, 1024*1024, value)) < 0) { virReportSystemError(errno, _("Unable to read from '%s'"), keypath); - goto cleanup; + return -1; } =20 /* Terminated with '\n' has sometimes harmful effects to the caller */ if (rc > 0 && (*value)[rc - 1] =3D=3D '\n') (*value)[rc - 1] =3D '\0'; =20 - ret =3D 0; - - cleanup: - VIR_FREE(keypath); - return ret; + return 0; } =20 =20 @@ -855,8 +834,8 @@ virCgroupGetValueForBlkDev(virCgroupPtr group, const char *path, char **value) { - char *prefix =3D NULL; - char *str =3D NULL; + VIR_AUTOFREE(char *) prefix =3D NULL; + VIR_AUTOFREE(char *) str =3D NULL; char **lines =3D NULL; int ret =3D -1; =20 @@ -874,8 +853,6 @@ virCgroupGetValueForBlkDev(virCgroupPtr group, =20 ret =3D 0; error: - VIR_FREE(str); - VIR_FREE(prefix); virStringListFree(lines); return ret; } @@ -887,17 +864,12 @@ virCgroupSetValueU64(virCgroupPtr group, const char *key, unsigned long long int value) { - char *strval =3D NULL; - int ret; + VIR_AUTOFREE(char *) strval =3D NULL; =20 if (virAsprintf(&strval, "%llu", value) < 0) return -1; =20 - ret =3D virCgroupSetValueStr(group, controller, key, strval); - - VIR_FREE(strval); - - return ret; + return virCgroupSetValueStr(group, controller, key, strval); } =20 =20 @@ -907,17 +879,12 @@ virCgroupSetValueI64(virCgroupPtr group, const char *key, long long int value) { - char *strval =3D NULL; - int ret; + VIR_AUTOFREE(char *) strval =3D NULL; =20 if (virAsprintf(&strval, "%lld", value) < 0) return -1; =20 - ret =3D virCgroupSetValueStr(group, controller, key, strval); - - VIR_FREE(strval); - - return ret; + return virCgroupSetValueStr(group, controller, key, strval); } =20 =20 @@ -927,24 +894,19 @@ virCgroupGetValueI64(virCgroupPtr group, const char *key, long long int *value) { - char *strval =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) strval =3D NULL; =20 if (virCgroupGetValueStr(group, controller, key, &strval) < 0) - goto cleanup; + return -1; =20 if (virStrToLong_ll(strval, NULL, 10, value) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to parse '%s' as an integer"), strval); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(strval); - return ret; + return 0; } =20 =20 @@ -954,24 +916,19 @@ virCgroupGetValueU64(virCgroupPtr group, const char *key, unsigned long long int *value) { - char *strval =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) strval =3D NULL; =20 if (virCgroupGetValueStr(group, controller, key, &strval) < 0) - goto cleanup; + return -1; =20 if (virStrToLong_ull(strval, NULL, 10, value) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to parse '%s' as an integer"), strval); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(strval); - return ret; + return 0; } =20 =20 @@ -987,7 +944,7 @@ virCgroupCpuSetInherit(virCgroupPtr parent, virCgroupPt= r group) =20 VIR_DEBUG("Setting up inheritance %s -> %s", parent->path, group->path= ); for (i =3D 0; i < ARRAY_CARDINALITY(inherit_values); i++) { - char *value; + VIR_AUTOFREE(char *) value =3D NULL; =20 if (virCgroupGetValueStr(parent, VIR_CGROUP_CONTROLLER_CPUSET, @@ -1000,11 +957,8 @@ virCgroupCpuSetInherit(virCgroupPtr parent, virCgroup= Ptr group) if (virCgroupSetValueStr(group, VIR_CGROUP_CONTROLLER_CPUSET, inherit_values[i], - value) < 0) { - VIR_FREE(value); + value) < 0) return -1; - } - VIR_FREE(value); } =20 return 0; @@ -1043,11 +997,10 @@ virCgroupMakeGroup(virCgroupPtr parent, unsigned int flags) { size_t i; - int ret =3D -1; =20 VIR_DEBUG("Make group %s", group->path); for (i =3D 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) { - char *path =3D NULL; + VIR_AUTOFREE(char *) path =3D NULL; =20 /* We must never mkdir() in systemd's hierarchy */ if (i =3D=3D VIR_CGROUP_CONTROLLER_SYSTEMD) { @@ -1073,10 +1026,8 @@ virCgroupMakeGroup(virCgroupPtr parent, if (!virFileExists(path)) { if (!create || mkdir(path, 0755) < 0) { - if (errno =3D=3D EEXIST) { - VIR_FREE(path); + if (errno =3D=3D EEXIST) continue; - } /* With a kernel that doesn't support multi-level directory * for blkio controller, libvirt will fail and disable all * other controllers even though they are available. So @@ -1084,24 +1035,20 @@ virCgroupMakeGroup(virCgroupPtr parent, if (i =3D=3D VIR_CGROUP_CONTROLLER_BLKIO) { VIR_DEBUG("Ignoring mkdir failure with blkio controlle= r. Kernel probably too old"); VIR_FREE(group->controllers[i].mountPoint); - VIR_FREE(path); continue; } else { virReportSystemError(errno, _("Failed to create controller %s= for group"), virCgroupControllerTypeToString(i= )); - VIR_FREE(path); - goto cleanup; + return -1; } } if (group->controllers[VIR_CGROUP_CONTROLLER_CPUSET].mountPoin= t !=3D NULL && (i =3D=3D VIR_CGROUP_CONTROLLER_CPUSET || STREQ(group->controllers[i].mountPoint, group->controllers[VIR_CGROUP_CONTROLLER_CPUSET].mo= untPoint))) { - if (virCgroupCpuSetInherit(parent, group) < 0) { - VIR_FREE(path); - goto cleanup; - } + if (virCgroupCpuSetInherit(parent, group) < 0) + return -1; } /* * Note that virCgroupSetMemoryUseHierarchy should always be @@ -1112,21 +1059,14 @@ virCgroupMakeGroup(virCgroupPtr parent, (i =3D=3D VIR_CGROUP_CONTROLLER_MEMORY || STREQ(group->controllers[i].mountPoint, group->controllers[VIR_CGROUP_CONTROLLER_MEMORY].mo= untPoint))) { - if (virCgroupSetMemoryUseHierarchy(group) < 0) { - VIR_FREE(path); - goto cleanup; - } + if (virCgroupSetMemoryUseHierarchy(group) < 0) + return -1; } } - - VIR_FREE(path); } =20 VIR_DEBUG("Done making controllers for group"); - ret =3D 0; - - cleanup: - return ret; + return 0; } =20 =20 @@ -1338,9 +1278,9 @@ virCgroupNewPartition(const char *path, virCgroupPtr *group) { int ret =3D -1; - char *parentPath =3D NULL; + VIR_AUTOFREE(char *) parentPath =3D NULL; + VIR_AUTOFREE(char *) newPath =3D NULL; virCgroupPtr parent =3D NULL; - char *newPath =3D NULL; VIR_DEBUG("path=3D%s create=3D%d controllers=3D%x", path, create, controllers); =20 @@ -1380,8 +1320,6 @@ virCgroupNewPartition(const char *path, if (ret !=3D 0) virCgroupFree(*group); virCgroupFree(parent); - VIR_FREE(parentPath); - VIR_FREE(newPath); return ret; } =20 @@ -1420,18 +1358,17 @@ virCgroupNewDomainPartition(virCgroupPtr partition, bool create, virCgroupPtr *group) { - int ret =3D -1; - char *grpname =3D NULL; + VIR_AUTOFREE(char *)grpname =3D NULL; =20 if (virAsprintf(&grpname, "%s.libvirt-%s", name, driver) < 0) - goto cleanup; + return -1; =20 if (virCgroupPartitionEscape(&grpname) < 0) - goto cleanup; + return -1; =20 if (virCgroupNew(-1, grpname, partition, -1, group) < 0) - goto cleanup; + return -1; =20 /* * Create a cgroup with memory.use_hierarchy enabled to @@ -1447,14 +1384,10 @@ virCgroupNewDomainPartition(virCgroupPtr partition, VIR_CGROUP_MEM_HIERACHY) < 0) { virCgroupRemove(*group); virCgroupFree(*group); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - VIR_FREE(grpname); - return ret; + return 0; } =20 =20 @@ -1476,27 +1409,26 @@ virCgroupNewThread(virCgroupPtr domain, bool create, virCgroupPtr *group) { - int ret =3D -1; - char *name =3D NULL; + VIR_AUTOFREE(char *) name =3D NULL; int controllers; =20 switch (nameval) { case VIR_CGROUP_THREAD_VCPU: if (virAsprintf(&name, "vcpu%d", id) < 0) - goto cleanup; + return -1; break; case VIR_CGROUP_THREAD_EMULATOR: if (VIR_STRDUP(name, "emulator") < 0) - goto cleanup; + return -1; break; case VIR_CGROUP_THREAD_IOTHREAD: if (virAsprintf(&name, "iothread%d", id) < 0) - goto cleanup; + return -1; break; case VIR_CGROUP_THREAD_LAST: virReportError(VIR_ERR_INTERNAL_ERROR, _("unexpected name value %d"), nameval); - goto cleanup; + return -1; } =20 controllers =3D ((1 << VIR_CGROUP_CONTROLLER_CPU) | @@ -1504,18 +1436,15 @@ virCgroupNewThread(virCgroupPtr domain, (1 << VIR_CGROUP_CONTROLLER_CPUSET)); =20 if (virCgroupNew(-1, name, domain, controllers, group) < 0) - goto cleanup; + return -1; =20 if (virCgroupMakeGroup(domain, *group, create, VIR_CGROUP_NONE) < 0) { virCgroupRemove(*group); virCgroupFree(*group); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - VIR_FREE(name); - return ret; + return 0; } =20 =20 @@ -1576,7 +1505,7 @@ virCgroupNewMachineSystemd(const char *name, int ret =3D -1; int rv; virCgroupPtr init, parent =3D NULL; - char *path =3D NULL; + VIR_AUTOFREE(char *) path =3D NULL; char *offset; =20 VIR_DEBUG("Trying to setup machine '%s' via systemd", name); @@ -1661,7 +1590,6 @@ virCgroupNewMachineSystemd(const char *name, ret =3D 0; cleanup: virCgroupFree(parent); - VIR_FREE(path); return ret; } =20 @@ -1893,9 +1821,11 @@ virCgroupGetBlkioIoServiced(virCgroupPtr group, long long *requests_write) { long long stats_val; - char *str1 =3D NULL, *str2 =3D NULL, *p1, *p2; + VIR_AUTOFREE(char *) str1 =3D NULL; + VIR_AUTOFREE(char *) str2 =3D NULL; + char *p1 =3D NULL; + char *p2 =3D NULL; size_t i; - int ret =3D -1; =20 const char *value_names[] =3D { "Read ", @@ -1918,12 +1848,12 @@ virCgroupGetBlkioIoServiced(virCgroupPtr group, if (virCgroupGetValueStr(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.io_service_bytes", &str1) < 0) - goto cleanup; + return -1; =20 if (virCgroupGetValueStr(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.io_serviced", &str2) < 0) - goto cleanup; + return -1; =20 /* sum up all entries of the same kind, from all devices */ for (i =3D 0; i < ARRAY_CARDINALITY(value_names); i++) { @@ -1937,7 +1867,7 @@ virCgroupGetBlkioIoServiced(virCgroupPtr group, _("Cannot parse byte %sstat '%s'"), value_names[i], p1); - goto cleanup; + return -1; } =20 if (stats_val < 0 || @@ -1946,7 +1876,7 @@ virCgroupGetBlkioIoServiced(virCgroupPtr group, virReportError(VIR_ERR_OVERFLOW, _("Sum of byte %sstat overflows"), value_names[i]); - goto cleanup; + return -1; } *bytes_ptrs[i] +=3D stats_val; } @@ -1958,7 +1888,7 @@ virCgroupGetBlkioIoServiced(virCgroupPtr group, _("Cannot parse %srequest stat '%s'"), value_names[i], p2); - goto cleanup; + return -1; } =20 if (stats_val < 0 || @@ -1967,18 +1897,13 @@ virCgroupGetBlkioIoServiced(virCgroupPtr group, virReportError(VIR_ERR_OVERFLOW, _("Sum of %srequest stat overflows"), value_names[i]); - goto cleanup; + return -1; } *requests_ptrs[i] +=3D stats_val; } } =20 - ret =3D 0; - - cleanup: - VIR_FREE(str2); - VIR_FREE(str1); - return ret; + return 0; } =20 =20 @@ -2002,9 +1927,12 @@ virCgroupGetBlkioIoDeviceServiced(virCgroupPtr group, long long *requests_read, long long *requests_write) { - char *str1 =3D NULL, *str2 =3D NULL, *str3 =3D NULL, *p1, *p2; + VIR_AUTOFREE(char *) str1 =3D NULL; + VIR_AUTOFREE(char *) str2 =3D NULL; + VIR_AUTOFREE(char *) str3 =3D NULL; + char *p1 =3D NULL; + char *p2 =3D NULL; size_t i; - int ret =3D -1; =20 const char *value_names[] =3D { "Read ", @@ -2022,28 +1950,28 @@ virCgroupGetBlkioIoDeviceServiced(virCgroupPtr grou= p, if (virCgroupGetValueStr(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.io_service_bytes", &str1) < 0) - goto cleanup; + return -1; =20 if (virCgroupGetValueStr(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.io_serviced", &str2) < 0) - goto cleanup; + return -1; =20 if (!(str3 =3D virCgroupGetBlockDevString(path))) - goto cleanup; + return -1; =20 if (!(p1 =3D strstr(str1, str3))) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Cannot find byte stats for block device '%s'"), str3); - goto cleanup; + return -1; } =20 if (!(p2 =3D strstr(str2, str3))) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Cannot find request stats for block device '%s'"= ), str3); - goto cleanup; + return -1; } =20 for (i =3D 0; i < ARRAY_CARDINALITY(value_names); i++) { @@ -2051,38 +1979,32 @@ virCgroupGetBlkioIoDeviceServiced(virCgroupPtr grou= p, virReportError(VIR_ERR_INTERNAL_ERROR, _("Cannot find byte %sstats for block device '%= s'"), value_names[i], str3); - goto cleanup; + return -1; } =20 if (virStrToLong_ll(p1 + strlen(value_names[i]), &p1, 10, bytes_pt= rs[i]) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Cannot parse %sstat '%s'"), value_names[i], p1 + strlen(value_names[i])); - goto cleanup; + return -1; } =20 if (!(p2 =3D strstr(p2, value_names[i]))) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Cannot find request %sstats for block device= '%s'"), value_names[i], str3); - goto cleanup; + return -1; } =20 if (virStrToLong_ll(p2 + strlen(value_names[i]), &p2, 10, requests= _ptrs[i]) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Cannot parse %sstat '%s'"), value_names[i], p2 + strlen(value_names[i])); - goto cleanup; + return -1; } } =20 - ret =3D 0; - - cleanup: - VIR_FREE(str3); - VIR_FREE(str2); - VIR_FREE(str1); - return ret; + return 0; } =20 =20 @@ -2138,24 +2060,19 @@ virCgroupSetBlkioDeviceReadIops(virCgroupPtr group, const char *path, unsigned int riops) { - char *str =3D NULL; - char *blkstr =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) str =3D NULL; + VIR_AUTOFREE(char *) blkstr =3D NULL; =20 if (!(blkstr =3D virCgroupGetBlockDevString(path))) return -1; =20 if (virAsprintf(&str, "%s%u", blkstr, riops) < 0) - goto error; + return -1; =20 - ret =3D virCgroupSetValueStr(group, + return virCgroupSetValueStr(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.read_iops_device", str); - error: - VIR_FREE(blkstr); - VIR_FREE(str); - return ret; } =20 =20 @@ -2172,24 +2089,19 @@ virCgroupSetBlkioDeviceWriteIops(virCgroupPtr group, const char *path, unsigned int wiops) { - char *str =3D NULL; - char *blkstr =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) str =3D NULL; + VIR_AUTOFREE(char *) blkstr =3D NULL; =20 if (!(blkstr =3D virCgroupGetBlockDevString(path))) return -1; =20 if (virAsprintf(&str, "%s%u", blkstr, wiops) < 0) - goto error; + return -1; =20 - ret =3D virCgroupSetValueStr(group, + return virCgroupSetValueStr(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.write_iops_device", str); - error: - VIR_FREE(blkstr); - VIR_FREE(str); - return ret; } =20 =20 @@ -2206,24 +2118,19 @@ virCgroupSetBlkioDeviceReadBps(virCgroupPtr group, const char *path, unsigned long long rbps) { - char *str =3D NULL; - char *blkstr =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) str =3D NULL; + VIR_AUTOFREE(char *) blkstr =3D NULL; =20 if (!(blkstr =3D virCgroupGetBlockDevString(path))) return -1; =20 if (virAsprintf(&str, "%s%llu", blkstr, rbps) < 0) - goto error; + return -1; =20 - ret =3D virCgroupSetValueStr(group, + return virCgroupSetValueStr(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.read_bps_device", str); - error: - VIR_FREE(blkstr); - VIR_FREE(str); - return ret; } =20 /** @@ -2239,24 +2146,19 @@ virCgroupSetBlkioDeviceWriteBps(virCgroupPtr group, const char *path, unsigned long long wbps) { - char *str =3D NULL; - char *blkstr =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) str =3D NULL; + VIR_AUTOFREE(char *) blkstr =3D NULL; =20 if (!(blkstr =3D virCgroupGetBlockDevString(path))) return -1; =20 if (virAsprintf(&str, "%s%llu", blkstr, wbps) < 0) - goto error; + return -1; =20 - ret =3D virCgroupSetValueStr(group, + return virCgroupSetValueStr(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.write_bps_device", str); - error: - VIR_FREE(blkstr); - VIR_FREE(str); - return ret; } =20 =20 @@ -2274,24 +2176,19 @@ virCgroupSetBlkioDeviceWeight(virCgroupPtr group, const char *path, unsigned int weight) { - char *str =3D NULL; - char *blkstr =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) str =3D NULL; + VIR_AUTOFREE(char *) blkstr =3D NULL; =20 if (!(blkstr =3D virCgroupGetBlockDevString(path))) return -1; =20 if (virAsprintf(&str, "%s%d", blkstr, weight) < 0) - goto error; + return -1; =20 - ret =3D virCgroupSetValueStr(group, + return virCgroupSetValueStr(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.weight_device", str); - error: - VIR_FREE(blkstr); - VIR_FREE(str); - return ret; } =20 /** @@ -2307,15 +2204,14 @@ virCgroupGetBlkioDeviceReadIops(virCgroupPtr group, const char *path, unsigned int *riops) { - char *str =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) str =3D NULL; =20 if (virCgroupGetValueForBlkDev(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.read_iops_device", path, &str) < 0) - goto error; + return -1; =20 if (!str) { *riops =3D 0; @@ -2323,13 +2219,10 @@ virCgroupGetBlkioDeviceReadIops(virCgroupPtr group, virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to parse '%s' as an integer"), str); - goto error; + return -1; } =20 - ret =3D 0; - error: - VIR_FREE(str); - return ret; + return 0; } =20 /** @@ -2345,15 +2238,14 @@ virCgroupGetBlkioDeviceWriteIops(virCgroupPtr group, const char *path, unsigned int *wiops) { - char *str =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) str =3D NULL; =20 if (virCgroupGetValueForBlkDev(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.write_iops_device", path, &str) < 0) - goto error; + return -1; =20 if (!str) { *wiops =3D 0; @@ -2361,13 +2253,10 @@ virCgroupGetBlkioDeviceWriteIops(virCgroupPtr group, virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to parse '%s' as an integer"), str); - goto error; + return -1; } =20 - ret =3D 0; - error: - VIR_FREE(str); - return ret; + return 0; } =20 /** @@ -2383,15 +2272,14 @@ virCgroupGetBlkioDeviceReadBps(virCgroupPtr group, const char *path, unsigned long long *rbps) { - char *str =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) str =3D NULL; =20 if (virCgroupGetValueForBlkDev(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.read_bps_device", path, &str) < 0) - goto error; + return -1; =20 if (!str) { *rbps =3D 0; @@ -2399,13 +2287,10 @@ virCgroupGetBlkioDeviceReadBps(virCgroupPtr group, virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to parse '%s' as an integer"), str); - goto error; + return -1; } =20 - ret =3D 0; - error: - VIR_FREE(str); - return ret; + return 0; } =20 /** @@ -2421,15 +2306,14 @@ virCgroupGetBlkioDeviceWriteBps(virCgroupPtr group, const char *path, unsigned long long *wbps) { - char *str =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) str =3D NULL; =20 if (virCgroupGetValueForBlkDev(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.throttle.write_bps_device", path, &str) < 0) - goto error; + return -1; =20 if (!str) { *wbps =3D 0; @@ -2437,13 +2321,10 @@ virCgroupGetBlkioDeviceWriteBps(virCgroupPtr group, virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to parse '%s' as an integer"), str); - goto error; + return -1; } =20 - ret =3D 0; - error: - VIR_FREE(str); - return ret; + return 0; } =20 /** @@ -2459,15 +2340,14 @@ virCgroupGetBlkioDeviceWeight(virCgroupPtr group, const char *path, unsigned int *weight) { - char *str =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) str =3D NULL; =20 if (virCgroupGetValueForBlkDev(group, VIR_CGROUP_CONTROLLER_BLKIO, "blkio.weight_device", path, &str) < 0) - goto error; + return -1; =20 if (!str) { *weight =3D 0; @@ -2475,13 +2355,10 @@ virCgroupGetBlkioDeviceWeight(virCgroupPtr group, virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to parse '%s' as an integer"), str); - goto error; + return -1; } =20 - ret =3D 0; - error: - VIR_FREE(str); - return ret; + return 0; } =20 =20 @@ -2940,36 +2817,29 @@ int virCgroupAllowDevice(virCgroupPtr group, char type, int major, int minor, int perms) { - int ret =3D -1; - char *devstr =3D NULL; - char *majorstr =3D NULL; - char *minorstr =3D NULL; + VIR_AUTOFREE(char *) devstr =3D NULL; + VIR_AUTOFREE(char *) majorstr =3D NULL; + VIR_AUTOFREE(char *) minorstr =3D NULL; =20 if ((major < 0 && VIR_STRDUP(majorstr, "*") < 0) || (major >=3D 0 && virAsprintf(&majorstr, "%i", major) < 0)) - goto cleanup; + return -1; =20 if ((minor < 0 && VIR_STRDUP(minorstr, "*") < 0) || (minor >=3D 0 && virAsprintf(&minorstr, "%i", minor) < 0)) - goto cleanup; + return -1; =20 if (virAsprintf(&devstr, "%c %s:%s %s", type, majorstr, minorstr, virCgroupGetDevicePermsString(perms)) < 0) - goto cleanup; + return -1; =20 if (virCgroupSetValueStr(group, VIR_CGROUP_CONTROLLER_DEVICES, "devices.allow", devstr) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - - cleanup: - VIR_FREE(devstr); - VIR_FREE(majorstr); - VIR_FREE(minorstr); - return ret; + return 0; } =20 =20 @@ -3031,36 +2901,29 @@ int virCgroupDenyDevice(virCgroupPtr group, char type, int major, int minor, int perms) { - int ret =3D -1; - char *devstr =3D NULL; - char *majorstr =3D NULL; - char *minorstr =3D NULL; + VIR_AUTOFREE(char *) devstr =3D NULL; + VIR_AUTOFREE(char *) majorstr =3D NULL; + VIR_AUTOFREE(char *) minorstr =3D NULL; =20 if ((major < 0 && VIR_STRDUP(majorstr, "*") < 0) || (major >=3D 0 && virAsprintf(&majorstr, "%i", major) < 0)) - goto cleanup; + return -1; =20 if ((minor < 0 && VIR_STRDUP(minorstr, "*") < 0) || (minor >=3D 0 && virAsprintf(&minorstr, "%i", minor) < 0)) - goto cleanup; + return -1; =20 if (virAsprintf(&devstr, "%c %s:%s %s", type, majorstr, minorstr, virCgroupGetDevicePermsString(perms)) < 0) - goto cleanup; + return -1; =20 if (virCgroupSetValueStr(group, VIR_CGROUP_CONTROLLER_DEVICES, "devices.deny", devstr) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - - cleanup: - VIR_FREE(devstr); - VIR_FREE(majorstr); - VIR_FREE(minorstr); - return ret; + return 0; } =20 =20 @@ -3130,10 +2993,10 @@ virCgroupGetPercpuVcpuSum(virCgroupPtr group, { int ret =3D -1; ssize_t i =3D -1; - char *buf =3D NULL; virCgroupPtr group_vcpu =3D NULL; =20 while ((i =3D virBitmapNextSetBit(guestvcpus, i)) >=3D 0) { + VIR_AUTOFREE(char *) buf =3D NULL; char *pos; unsigned long long tmp; ssize_t j; @@ -3158,13 +3021,11 @@ virCgroupGetPercpuVcpuSum(virCgroupPtr group, } =20 virCgroupFree(group_vcpu); - VIR_FREE(buf); } =20 ret =3D 0; cleanup: virCgroupFree(group_vcpu); - VIR_FREE(buf); return ret; } =20 @@ -3201,8 +3062,8 @@ virCgroupGetPercpuStats(virCgroupPtr group, size_t i; int need_cpus, total_cpus; char *pos; - char *buf =3D NULL; - unsigned long long *sum_cpu_time =3D NULL; + VIR_AUTOFREE(char *) buf =3D NULL; + VIR_AUTOFREE(unsigned long long *) sum_cpu_time =3D NULL; virTypedParameterPtr ent; int param_idx; unsigned long long cpu_time; @@ -3288,8 +3149,6 @@ virCgroupGetPercpuStats(virCgroupPtr group, =20 cleanup: virBitmapFree(cpumap); - VIR_FREE(sum_cpu_time); - VIR_FREE(buf); return ret; } =20 @@ -3460,7 +3319,7 @@ virCgroupRemoveRecursively(char *grppath) /* This is best-effort cleanup: we want to log failures with just * VIR_ERROR instead of normal virReportError */ while ((direrr =3D virDirRead(grpdir, &ent, NULL)) > 0) { - char *path; + VIR_AUTOFREE(char *) path =3D NULL; =20 if (ent->d_type !=3D DT_DIR) continue; =20 @@ -3469,7 +3328,6 @@ virCgroupRemoveRecursively(char *grppath) break; } rc =3D virCgroupRemoveRecursively(path); - VIR_FREE(path); if (rc !=3D 0) break; } @@ -3507,10 +3365,11 @@ virCgroupRemove(virCgroupPtr group) { int rc =3D 0; size_t i; - char *grppath =3D NULL; =20 VIR_DEBUG("Removing cgroup %s", group->path); for (i =3D 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) { + VIR_AUTOFREE(char *) grppath =3D NULL; + /* Skip over controllers not mounted */ if (!group->controllers[i].mountPoint) continue; @@ -3532,7 +3391,6 @@ virCgroupRemove(virCgroupPtr group) =20 VIR_DEBUG("Removing cgroup %s and all child cgroups", grppath); rc =3D virCgroupRemoveRecursively(grppath); - VIR_FREE(grppath); } VIR_DEBUG("Done removing cgroup %s", group->path); =20 @@ -3548,7 +3406,7 @@ virCgroupKillInternal(virCgroupPtr group, int signum,= virHashTablePtr pids) { int ret =3D -1; bool killedAny =3D false; - char *keypath =3D NULL; + VIR_AUTOFREE(char *) keypath =3D NULL; bool done =3D false; FILE *fp =3D NULL; VIR_DEBUG("group=3D%p path=3D%s signum=3D%d pids=3D%p", @@ -3612,7 +3470,6 @@ virCgroupKillInternal(virCgroupPtr group, int signum,= virHashTablePtr pids) ret =3D killedAny ? 1 : 0; =20 cleanup: - VIR_FREE(keypath); VIR_FORCE_FCLOSE(fp); =20 return ret; @@ -3677,7 +3534,7 @@ virCgroupKillRecursiveInternal(virCgroupPtr group, int ret =3D -1; int rc; bool killedAny =3D false; - char *keypath =3D NULL; + VIR_AUTOFREE(char *) keypath =3D NULL; DIR *dp =3D NULL; virCgroupPtr subgroup =3D NULL; struct dirent *ent; @@ -3731,7 +3588,6 @@ virCgroupKillRecursiveInternal(virCgroupPtr group, =20 cleanup: virCgroupFree(subgroup); - VIR_FREE(keypath); VIR_DIR_CLOSE(dp); return ret; } @@ -3845,9 +3701,8 @@ int virCgroupGetCpuacctStat(virCgroupPtr group, unsigned long long *user, unsigned long long *sys) { - char *str; + VIR_AUTOFREE(char *) str =3D NULL; char *p; - int ret =3D -1; static double scale =3D -1.0; =20 if (virCgroupGetValueStr(group, VIR_CGROUP_CONTROLLER_CPUACCT, @@ -3859,14 +3714,14 @@ virCgroupGetCpuacctStat(virCgroupPtr group, unsigne= d long long *user, virReportError(VIR_ERR_INTERNAL_ERROR, _("Cannot parse user stat '%s'"), p); - goto cleanup; + return -1; } if (!(p =3D STRSKIP(p, "\nsystem ")) || virStrToLong_ull(p, NULL, 10, sys) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Cannot parse sys stat '%s'"), p); - goto cleanup; + return -1; } /* times reported are in system ticks (generally 100 Hz), but that * rate can theoretically vary between machines. Scale things @@ -3876,17 +3731,14 @@ virCgroupGetCpuacctStat(virCgroupPtr group, unsigne= d long long *user, if (ticks_per_sec =3D=3D -1) { virReportSystemError(errno, "%s", _("Cannot determine system clock HZ")); - goto cleanup; + return -1; } scale =3D 1000000000.0 / ticks_per_sec; } *user *=3D scale; *sys *=3D scale; =20 - ret =3D 0; - cleanup: - VIR_FREE(str); - return ret; + return 0; } =20 =20 @@ -3912,10 +3764,9 @@ int virCgroupBindMount(virCgroupPtr group, const char *oldroot, const char *mountopts) { - int ret =3D -1; size_t i; - char *opts =3D NULL; - char *root =3D NULL; + VIR_AUTOFREE(char *) opts =3D NULL; + VIR_AUTOFREE(char *) root =3D NULL; =20 if (!(root =3D virCgroupIdentifyRoot(group))) return -1; @@ -3926,18 +3777,18 @@ virCgroupBindMount(virCgroupPtr group, const char *= oldroot, virReportSystemError(errno, _("Unable to create directory %s"), root); - goto cleanup; + return -1; } =20 if (virAsprintf(&opts, "mode=3D755,size=3D65536%s", mountopts) < 0) - goto cleanup; + return -1; =20 if (mount("tmpfs", root, "tmpfs", MS_NOSUID|MS_NODEV|MS_NOEXEC, opts) = < 0) { virReportSystemError(errno, _("Failed to mount %s on %s type %s"), "tmpfs", root, "tmpfs"); - goto cleanup; + return -1; } =20 for (i =3D 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) { @@ -3945,11 +3796,11 @@ virCgroupBindMount(virCgroupPtr group, const char *= oldroot, continue; =20 if (!virFileExists(group->controllers[i].mountPoint)) { - char *src; + VIR_AUTOFREE(char *) src =3D NULL; if (virAsprintf(&src, "%s%s", oldroot, group->controllers[i].mountPoint) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Create mount point '%s'", group->controllers[i].mountPoint); @@ -3957,8 +3808,7 @@ virCgroupBindMount(virCgroupPtr group, const char *ol= droot, virReportSystemError(errno, _("Unable to create directory %s"), group->controllers[i].mountPoint); - VIR_FREE(src); - goto cleanup; + return -1; } =20 if (mount(src, group->controllers[i].mountPoint, "none", MS_BI= ND, @@ -3966,11 +3816,8 @@ virCgroupBindMount(virCgroupPtr group, const char *o= ldroot, virReportSystemError(errno, _("Failed to bind cgroup '%s' on '%s'= "), src, group->controllers[i].mountPoint= ); - VIR_FREE(src); - goto cleanup; + return -1; } - - VIR_FREE(src); } =20 if (group->controllers[i].linkPoint) { @@ -3983,16 +3830,12 @@ virCgroupBindMount(virCgroupPtr group, const char *= oldroot, _("Unable to symlink directory %s to = %s"), group->controllers[i].mountPoint, group->controllers[i].linkPoint); - goto cleanup; + return -1; } } } - ret =3D 0; =20 - cleanup: - VIR_FREE(root); - VIR_FREE(opts); - return ret; + return 0; } =20 =20 @@ -4003,11 +3846,11 @@ int virCgroupSetOwner(virCgroupPtr cgroup, { int ret =3D -1; size_t i; - char *base =3D NULL, *entry =3D NULL; DIR *dh =3D NULL; int direrr; =20 for (i =3D 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) { + VIR_AUTOFREE(char *) base =3D NULL; struct dirent *de; =20 if (!((1 << i) & controllers)) @@ -4024,6 +3867,8 @@ int virCgroupSetOwner(virCgroupPtr cgroup, goto cleanup; =20 while ((direrr =3D virDirRead(dh, &de, base)) > 0) { + VIR_AUTOFREE(char *) entry =3D NULL; + if (virAsprintf(&entry, "%s/%s", base, de->d_name) < 0) goto cleanup; =20 @@ -4033,8 +3878,6 @@ int virCgroupSetOwner(virCgroupPtr cgroup, entry, uid, gid); goto cleanup; } - - VIR_FREE(entry); } if (direrr < 0) goto cleanup; @@ -4046,7 +3889,6 @@ int virCgroupSetOwner(virCgroupPtr cgroup, goto cleanup; } =20 - VIR_FREE(base); VIR_DIR_CLOSE(dh); } =20 @@ -4054,8 +3896,6 @@ int virCgroupSetOwner(virCgroupPtr cgroup, =20 cleanup: VIR_DIR_CLOSE(dh); - VIR_FREE(entry); - VIR_FREE(base); return ret; } =20 @@ -4070,8 +3910,7 @@ int virCgroupSetOwner(virCgroupPtr cgroup, bool virCgroupSupportsCpuBW(virCgroupPtr cgroup) { - char *path =3D NULL; - bool ret =3D false; + VIR_AUTOFREE(char *) path =3D NULL; =20 if (!cgroup) return false; @@ -4079,21 +3918,17 @@ virCgroupSupportsCpuBW(virCgroupPtr cgroup) if (virCgroupPathOfController(cgroup, VIR_CGROUP_CONTROLLER_CPU, "cpu.cfs_period_us", &path) < 0) { virResetLastError(); - goto cleanup; + return false; } =20 - ret =3D virFileExists(path); - - cleanup: - VIR_FREE(path); - return ret; + return virFileExists(path); } =20 int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller) { int ret =3D -1; - char *content =3D NULL; + VIR_AUTOFREE(char *) content =3D NULL; =20 if (!cgroup) return -1; @@ -4103,7 +3938,6 @@ virCgroupHasEmptyTasks(virCgroupPtr cgroup, int contr= oller) if (ret =3D=3D 0 && content[0] =3D=3D '\0') ret =3D 1; =20 - VIR_FREE(content); return ret; } =20 --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639122998548.8176481647566; Thu, 26 Jul 2018 14:05:22 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 13AFF82DE; Thu, 26 Jul 2018 21:05:21 +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 BCA3B5D6A5; Thu, 26 Jul 2018 21:05:20 +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 6996C3FCC1; Thu, 26 Jul 2018 21:05:20 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL4xwV024730 for ; Thu, 26 Jul 2018 17:04:59 -0400 Received: by smtp.corp.redhat.com (Postfix) id C6A1C60177; Thu, 26 Jul 2018 21:04:59 +0000 (UTC) Received: from mx1.redhat.com (ext-mx11.extmail.prod.ext.phx2.redhat.com [10.5.110.40]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BFF3060175 for ; Thu, 26 Jul 2018 21:04:59 +0000 (UTC) Received: from mail-pl0-f51.google.com (mail-pl0-f51.google.com [209.85.160.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 88B9A308403E for ; Thu, 26 Jul 2018 21:04:58 +0000 (UTC) Received: by mail-pl0-f51.google.com with SMTP id s17-v6so1342217plp.7 for ; Thu, 26 Jul 2018 14:04:58 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.56 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=fA2/p0h+aqqveDyv27Xv0FVYGgGrwbC8EZG9m+jNopY=; b=EEQNTCYpaJ9HRrQIOlQSU5Tbur3g2xCtEroZtDaAmvDJHDiH3aUibCQKg5nlQxQokt Qv/djKgFFzCfgfft8JXE2qeUVsHO4ia8cIzYErFZQVL4z1Z3U/6XKUCA+2PBadk3Y4Ow Ekdtvdlmn6Y97kw7Xh5lgRpNU4aKmXQ/s0W6Ub/4AXVkB9eOOh1MNdN6V633gMtp5ZRl dKeURFtJf4KqptB4huhayI0sCo58wp0KsVt2LAnUyx+ovOnwJ+XhUu1Vxwg169Cg0itL DQFpjDaQKHYNshNXEU2/uDXAiTsagbZf993ARJv7axO5KGIiPbtUPjTuc9zJEg6ViGe8 iGHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=fA2/p0h+aqqveDyv27Xv0FVYGgGrwbC8EZG9m+jNopY=; b=TqTFP08UOwudjwfFGsVEttL6HQFS4/+t6W/dpfvNT4KWyuDg63zPaVmxyi9K4fYBO4 KDqj12OMwZerWXKAbhakBVxvpWr+GC4c7gWKv63WntUPR6xikk+XojHJVt13Fyob40SU hRw3frUnUdU6X2Gsb3erdaaFnwPQ2dhtIj5rQhIRCCyVZsys7O+/8doyoqznLIRsSBfH 6GpxMMVHkhmezEq2LeiPDEViAKM4y0isG6JtLCPY2aRWdlo+DCxZyzm2FVIn9Pjn+aS+ 5Zul/y3DCoxt+sSML4JsbiVGV/LL71Z55iqvoCBVKeErVqL81hBd4+exbTBpnomnDadG brwg== X-Gm-Message-State: AOUpUlFK6Ly3G2LNZq1EeBsJzZw2eeztUdnrst79LeEq4ceSWSM3Ntnq d2TlavEpHZ0LV/lp8FPF5n3OjG36 X-Google-Smtp-Source: AAOMgpfudS7tBXZ1a4r67VvCjDeE7/tYPGxhcoNuf9krrXeFrrnjO/scPS8bPK+LI9NUm1gqXUaqvw== X-Received: by 2002:a17:902:8f8c:: with SMTP id z12-v6mr3340902plo.4.1532639097776; Thu, 26 Jul 2018 14:04:57 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:11 +0530 Message-Id: <1532447562-24010-11-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:04:58 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:04:58 +0000 (UTC) for IP:'209.85.160.51' DOMAIN:'mail-pl0-f51.google.com' HELO:'mail-pl0-f51.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.51 mail-pl0-f51.google.com 209.85.160.51 mail-pl0-f51.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.40 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 10/41] util: cgroup: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:05:21 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/vircgroup.c | 185 +++++++++++++++++++----------------------------= ---- 1 file changed, 67 insertions(+), 118 deletions(-) diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c index 6f7b5b4..61fafe2 100644 --- a/src/util/vircgroup.c +++ b/src/util/vircgroup.c @@ -836,25 +836,21 @@ virCgroupGetValueForBlkDev(virCgroupPtr group, { VIR_AUTOFREE(char *) prefix =3D NULL; VIR_AUTOFREE(char *) str =3D NULL; - char **lines =3D NULL; - int ret =3D -1; + VIR_AUTOPTR(virString) lines =3D NULL; =20 if (virCgroupGetValueStr(group, controller, key, &str) < 0) - goto error; + return -1; =20 if (!(prefix =3D virCgroupGetBlockDevString(path))) - goto error; + return -1; =20 if (!(lines =3D virStringSplit(str, "\n", -1))) - goto error; + return -1; =20 if (VIR_STRDUP(*value, virStringListGetFirstWithPrefix(lines, prefix))= < 0) - goto error; + return -1; =20 - ret =3D 0; - error: - virStringListFree(lines); - return ret; + return 0; } =20 =20 @@ -1217,12 +1213,11 @@ virCgroupAddTaskController(virCgroupPtr group, pid_= t pid, int controller) static int virCgroupSetPartitionSuffix(const char *path, char **res) { - char **tokens; + VIR_AUTOPTR(virString) tokens =3D NULL; size_t i; - int ret =3D -1; =20 if (!(tokens =3D virStringSplit(path, "/", 0))) - return ret; + return -1; =20 for (i =3D 0; tokens[i] !=3D NULL; i++) { /* Whitelist the 3 top level fixed dirs @@ -1241,22 +1236,18 @@ virCgroupSetPartitionSuffix(const char *path, char = **res) !strchr(tokens[i], '.')) { if (VIR_REALLOC_N(tokens[i], strlen(tokens[i]) + strlen(".partition") + 1= ) < 0) - goto cleanup; + return -1; strcat(tokens[i], ".partition"); } =20 if (virCgroupPartitionEscape(&(tokens[i])) < 0) - goto cleanup; + return -1; } =20 if (!(*res =3D virStringListJoin((const char **)tokens, "/"))) - goto cleanup; + return -1; =20 - ret =3D 0; - - cleanup: - virStringListFree(tokens); - return ret; + return 0; } =20 =20 @@ -1277,10 +1268,10 @@ virCgroupNewPartition(const char *path, int controllers, virCgroupPtr *group) { - int ret =3D -1; VIR_AUTOFREE(char *) parentPath =3D NULL; VIR_AUTOFREE(char *) newPath =3D NULL; - virCgroupPtr parent =3D NULL; + VIR_AUTOPTR(virCgroup) parent =3D NULL; + VIR_AUTOPTR(virCgroup) tmpGroup =3D NULL; VIR_DEBUG("path=3D%s create=3D%d controllers=3D%x", path, create, controllers); =20 @@ -1315,12 +1306,11 @@ virCgroupNewPartition(const char *path, } } =20 - ret =3D 0; + return 0; + cleanup: - if (ret !=3D 0) - virCgroupFree(*group); - virCgroupFree(parent); - return ret; + VIR_STEAL_PTR(tmpGroup, *group); + return -1; } =20 =20 @@ -1502,9 +1492,9 @@ virCgroupNewMachineSystemd(const char *name, int controllers, virCgroupPtr *group) { - int ret =3D -1; int rv; - virCgroupPtr init, parent =3D NULL; + VIR_AUTOPTR(virCgroup) init =3D NULL; + VIR_AUTOPTR(virCgroup) parent =3D NULL; VIR_AUTOFREE(char *) path =3D NULL; char *offset; =20 @@ -1531,12 +1521,10 @@ virCgroupNewMachineSystemd(const char *name, =20 path =3D init->controllers[VIR_CGROUP_CONTROLLER_SYSTEMD].placement; init->controllers[VIR_CGROUP_CONTROLLER_SYSTEMD].placement =3D NULL; - virCgroupFree(init); =20 if (!path || STREQ(path, "/") || path[0] !=3D '/') { VIR_DEBUG("Systemd didn't setup its controller"); - ret =3D -2; - goto cleanup; + return -2; } =20 offset =3D path; @@ -1546,7 +1534,7 @@ virCgroupNewMachineSystemd(const char *name, NULL, controllers, &parent) < 0) - goto cleanup; + return -1; =20 =20 for (;;) { @@ -1560,11 +1548,11 @@ virCgroupNewMachineSystemd(const char *name, parent, controllers, &tmp) < 0) - goto cleanup; + return -1; =20 if (virCgroupMakeGroup(parent, tmp, true, VIR_CGROUP_NONE) < 0) { virCgroupFree(tmp); - goto cleanup; + return -1; } if (t) { *t =3D '/'; @@ -1587,10 +1575,7 @@ virCgroupNewMachineSystemd(const char *name, } } =20 - ret =3D 0; - cleanup: - virCgroupFree(parent); - return ret; + return 0; } =20 =20 @@ -1611,8 +1596,7 @@ virCgroupNewMachineManual(const char *name, int controllers, virCgroupPtr *group) { - virCgroupPtr parent =3D NULL; - int ret =3D -1; + VIR_AUTOPTR(virCgroup) parent =3D NULL; =20 VIR_DEBUG("Fallback to non-systemd setup"); if (virCgroupNewPartition(partition, @@ -1620,9 +1604,9 @@ virCgroupNewMachineManual(const char *name, controllers, &parent) < 0) { if (virCgroupNewIgnoreError()) - goto done; + return 0; =20 - goto cleanup; + return -1; } =20 if (virCgroupNewDomainPartition(parent, @@ -1630,7 +1614,7 @@ virCgroupNewMachineManual(const char *name, name, true, group) < 0) - goto cleanup; + return -1; =20 if (virCgroupAddTask(*group, pidleader) < 0) { virErrorPtr saved =3D virSaveLastError(); @@ -1642,12 +1626,7 @@ virCgroupNewMachineManual(const char *name, } } =20 - done: - ret =3D 0; - - cleanup: - virCgroupFree(parent); - return ret; + return 0; } =20 =20 @@ -2376,7 +2355,7 @@ static virOnceControl virCgroupMemoryOnce =3D VIR_ONC= E_CONTROL_INITIALIZER; static void virCgroupMemoryOnceInit(void) { - virCgroupPtr group; + VIR_AUTOPTR(virCgroup) group =3D NULL; unsigned long long int mem_unlimited =3D 0ULL; =20 if (virCgroupNew(-1, "/", NULL, -1, &group) < 0) @@ -2390,7 +2369,6 @@ virCgroupMemoryOnceInit(void) "memory.limit_in_bytes", &mem_unlimited)); cleanup: - virCgroupFree(group); virCgroupMemoryUnlimitedKB =3D mem_unlimited >> 10; } =20 @@ -2991,22 +2969,21 @@ virCgroupGetPercpuVcpuSum(virCgroupPtr group, size_t nsum, virBitmapPtr cpumap) { - int ret =3D -1; ssize_t i =3D -1; - virCgroupPtr group_vcpu =3D NULL; =20 while ((i =3D virBitmapNextSetBit(guestvcpus, i)) >=3D 0) { VIR_AUTOFREE(char *) buf =3D NULL; + VIR_AUTOPTR(virCgroup) group_vcpu =3D NULL; char *pos; unsigned long long tmp; ssize_t j; =20 if (virCgroupNewThread(group, VIR_CGROUP_THREAD_VCPU, i, false, &group_vcpu) < 0) - goto cleanup; + return -1; =20 if (virCgroupGetCpuacctPercpuUsage(group_vcpu, &buf) < 0) - goto cleanup; + return -1; =20 pos =3D buf; for (j =3D virBitmapNextSetBit(cpumap, -1); @@ -3015,18 +2992,13 @@ virCgroupGetPercpuVcpuSum(virCgroupPtr group, if (virStrToLong_ull(pos, &pos, 10, &tmp) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cpuacct parse error")); - goto cleanup; + return -1; } sum_cpu_time[j] +=3D tmp; } - - virCgroupFree(group_vcpu); } =20 - ret =3D 0; - cleanup: - virCgroupFree(group_vcpu); - return ret; + return 0; } =20 =20 @@ -3058,7 +3030,6 @@ virCgroupGetPercpuStats(virCgroupPtr group, unsigned int ncpus, virBitmapPtr guestvcpus) { - int ret =3D -1; size_t i; int need_cpus, total_cpus; char *pos; @@ -3067,7 +3038,7 @@ virCgroupGetPercpuStats(virCgroupPtr group, virTypedParameterPtr ent; int param_idx; unsigned long long cpu_time; - virBitmapPtr cpumap =3D NULL; + VIR_AUTOPTR(virBitmap) cpumap =3D NULL; =20 /* return the number of supported params */ if (nparams =3D=3D 0 && ncpus !=3D 0) { @@ -3084,21 +3055,19 @@ virCgroupGetPercpuStats(virCgroupPtr group, total_cpus =3D virBitmapSize(cpumap); =20 /* return total number of cpus */ - if (ncpus =3D=3D 0) { - ret =3D total_cpus; - goto cleanup; - } + if (ncpus =3D=3D 0) + return total_cpus; =20 if (start_cpu >=3D total_cpus) { virReportError(VIR_ERR_INVALID_ARG, _("start_cpu %d larger than maximum of %d"), start_cpu, total_cpus - 1); - goto cleanup; + return -1; } =20 /* we get percpu cputime accounting info. */ if (virCgroupGetCpuacctPercpuUsage(group, &buf)) - goto cleanup; + return -1; pos =3D buf; =20 /* return percpu cputime in index 0 */ @@ -3113,14 +3082,14 @@ virCgroupGetPercpuStats(virCgroupPtr group, } else if (virStrToLong_ull(pos, &pos, 10, &cpu_time) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cpuacct parse error")); - goto cleanup; + return -1; } if (i < start_cpu) continue; ent =3D ¶ms[(i - start_cpu) * nparams + param_idx]; if (virTypedParameterAssign(ent, VIR_DOMAIN_CPU_STATS_CPUTIME, VIR_TYPED_PARAM_ULLONG, cpu_time) < 0) - goto cleanup; + return -1; } =20 /* return percpu vcputime in index 1 */ @@ -3128,10 +3097,10 @@ virCgroupGetPercpuStats(virCgroupPtr group, =20 if (guestvcpus && param_idx < nparams) { if (VIR_ALLOC_N(sum_cpu_time, need_cpus) < 0) - goto cleanup; + return -1; if (virCgroupGetPercpuVcpuSum(group, guestvcpus, sum_cpu_time, need_cpus, cpumap) < 0) - goto cleanup; + return -1; =20 for (i =3D start_cpu; i < need_cpus; i++) { if (virTypedParameterAssign(¶ms[(i - start_cpu) * nparams + @@ -3139,17 +3108,13 @@ virCgroupGetPercpuStats(virCgroupPtr group, VIR_DOMAIN_CPU_STATS_VCPUTIME, VIR_TYPED_PARAM_ULLONG, sum_cpu_time[i]) < 0) - goto cleanup; + return -1; } =20 param_idx++; } =20 - ret =3D param_idx; - - cleanup: - virBitmapFree(cpumap); - return ret; + return param_idx; } =20 =20 @@ -3505,23 +3470,18 @@ int virCgroupKill(virCgroupPtr group, int signum) { VIR_DEBUG("group=3D%p path=3D%s signum=3D%d", group, group->path, sign= um); - int ret; /* The 'tasks' file in cgroups can contain duplicated * pids, so we use a hash to track which we've already * killed. */ - virHashTablePtr pids =3D virHashCreateFull(100, - NULL, - virCgroupPidCode, - virCgroupPidEqual, - virCgroupPidCopy, - NULL); + VIR_AUTOPTR(virHashTable) pids =3D virHashCreateFull(100, + NULL, + virCgroupPidCode, + virCgroupPidEqual, + virCgroupPidCopy, + NULL); =20 - ret =3D virCgroupKillInternal(group, signum, pids); - - virHashFree(pids); - - return ret; + return virCgroupKillInternal(group, signum, pids); } =20 =20 @@ -3536,7 +3496,6 @@ virCgroupKillRecursiveInternal(virCgroupPtr group, bool killedAny =3D false; VIR_AUTOFREE(char *) keypath =3D NULL; DIR *dp =3D NULL; - virCgroupPtr subgroup =3D NULL; struct dirent *ent; int direrr; VIR_DEBUG("group=3D%p path=3D%s signum=3D%d pids=3D%p", @@ -3561,6 +3520,8 @@ virCgroupKillRecursiveInternal(virCgroupPtr group, } =20 while ((direrr =3D virDirRead(dp, &ent, keypath)) > 0) { + VIR_AUTOPTR(virCgroup) subgroup =3D NULL; + if (ent->d_type !=3D DT_DIR) continue; =20 @@ -3577,8 +3538,6 @@ virCgroupKillRecursiveInternal(virCgroupPtr group, =20 if (dormdir) virCgroupRemove(subgroup); - - virCgroupFree(subgroup); } if (direrr < 0) goto cleanup; @@ -3587,7 +3546,6 @@ virCgroupKillRecursiveInternal(virCgroupPtr group, ret =3D killedAny ? 1 : 0; =20 cleanup: - virCgroupFree(subgroup); VIR_DIR_CLOSE(dp); return ret; } @@ -3596,20 +3554,15 @@ virCgroupKillRecursiveInternal(virCgroupPtr group, int virCgroupKillRecursive(virCgroupPtr group, int signum) { - int ret; VIR_DEBUG("group=3D%p path=3D%s signum=3D%d", group, group->path, sign= um); - virHashTablePtr pids =3D virHashCreateFull(100, - NULL, - virCgroupPidCode, - virCgroupPidEqual, - virCgroupPidCopy, - NULL); + VIR_AUTOPTR(virHashTable) pids =3D virHashCreateFull(100, + NULL, + virCgroupPidCode, + virCgroupPidEqual, + virCgroupPidCopy, + NULL); =20 - ret =3D virCgroupKillRecursiveInternal(group, signum, pids, false); - - virHashFree(pids); - - return ret; + return virCgroupKillRecursiveInternal(group, signum, pids, false); } =20 =20 @@ -3944,15 +3897,12 @@ virCgroupHasEmptyTasks(virCgroupPtr cgroup, int con= troller) bool virCgroupControllerAvailable(int controller) { - virCgroupPtr cgroup; - bool ret =3D false; + VIR_AUTOPTR(virCgroup) cgroup =3D NULL; =20 if (virCgroupNewSelf(&cgroup) < 0) - return ret; + return false; =20 - ret =3D virCgroupHasController(cgroup, controller); - virCgroupFree(cgroup); - return ret; + return virCgroupHasController(cgroup, controller); } =20 #else /* !VIR_CGROUP_SUPPORTED */ @@ -4740,7 +4690,7 @@ virCgroupDelThread(virCgroupPtr cgroup, virCgroupThreadName nameval, int idx) { - virCgroupPtr new_cgroup =3D NULL; + VIR_AUTOPTR(virCgroup) new_cgroup =3D NULL; =20 if (cgroup) { if (virCgroupNewThread(cgroup, nameval, idx, false, &new_cgroup) <= 0) @@ -4748,7 +4698,6 @@ virCgroupDelThread(virCgroupPtr cgroup, =20 /* Remove the offlined cgroup */ virCgroupRemove(new_cgroup); - virCgroupFree(new_cgroup); } =20 return 0; --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639154833532.858458272712; Thu, 26 Jul 2018 14:05:54 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5E0BD8A09; Thu, 26 Jul 2018 21:05:52 +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 19DA82010CC4; Thu, 26 Jul 2018 21:05:52 +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 B673D24F5C; Thu, 26 Jul 2018 21:05:51 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL51hW024744 for ; Thu, 26 Jul 2018 17:05:01 -0400 Received: by smtp.corp.redhat.com (Postfix) id 957F63001A5B; Thu, 26 Jul 2018 21:05:01 +0000 (UTC) Received: from mx1.redhat.com (ext-mx08.extmail.prod.ext.phx2.redhat.com [10.5.110.32]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8EEA03001A55 for ; Thu, 26 Jul 2018 21:05:01 +0000 (UTC) Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 69F3DC0587C3 for ; Thu, 26 Jul 2018 21:05:00 +0000 (UTC) Received: by mail-pg1-f196.google.com with SMTP id p23-v6so1874753pgv.13 for ; Thu, 26 Jul 2018 14:05:00 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.58 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:04:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=mt2rTGoMpOgKLYAziW35tOs8cCQYDEn0kmSleAN3Qa8=; b=ZyJCmUuepeVKM5+aMB56Awu2/Ql/UtfJyELnkpPujLlECMkcPYXQwCN8BMlvAWtUzO zdEhrsA+DzGo0cMjpYCazcvCKhnrEHarQsiPDZEP63OzJsOd7cHkNBBUaadhlUP60McI NITGsxXl94zZ4/kB2LynCnx85DWLvWoXpZXGmfiN3gBDdyUkh5nfsYiPgtkkJYeD0h5C 3HoInC6Em570zy/3IYVpuiSY2Kwp+SMgkYgnVwwlyODBS/e+nJkkQ2BTvXoZOVn5B83f TzyFZkU/TqH7+XLgOQ1wxJPhqZhXd68zbpLbSFSqAlvIFctUhf94rfXv/AhhUZA+AAWd NX5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=mt2rTGoMpOgKLYAziW35tOs8cCQYDEn0kmSleAN3Qa8=; b=DQgo7mYPXYf7yyS2q2oar44Vl6jbxz3/jQ1P/pIMCTXkXZ/l0XWlRcsl3O/BfHg7Nt 27rr99w3d+f2glx3gwh4U04a8fFbtko+bG0FZbHiqPtyCdCSGOrmgtuxhS5f9NZTN04Y Gf2UojrAcz8Y7jrU58v7QQ9llZAeb/AvudLSxTmFh0b+xqY7/2X+PM5uKm+bg5Ks6Y+R 9QXqRzazngLn6uhABvzLh1vU7/YxhXvNAHJ6NyxSt2VsuEewd+BBCdtYIVYmXloNXwCg T13/WQ9PKB60VU5CJJ0vEdDyLzoEXkw6nhzQ/WdzsSpu/lIk8kIBamwQqWFE+H78HSKP tL3w== X-Gm-Message-State: AOUpUlHaLVdRwquJtdix6Nr0X6QdUWdNs4Iqbm8dk6eiU/pQ6qrVldsj G9q375PRLUgPNITPoL9lR4lfrPjk X-Google-Smtp-Source: AAOMgpcN92WY5YBlzonCfJXofPj/Q0IB1qZXf54nV5RBicUHzWy6R6TyVEDRc3JU91B+vrM4iecdgw== X-Received: by 2002:a63:3246:: with SMTP id y67-v6mr3302613pgy.399.1532639099699; Thu, 26 Jul 2018 14:04:59 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:12 +0530 Message-Id: <1532447562-24010-12-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 26 Jul 2018 21:05:00 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 26 Jul 2018 21:05:00 +0000 (UTC) for IP:'209.85.215.196' DOMAIN:'mail-pg1-f196.google.com' HELO:'mail-pg1-f196.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.196 mail-pg1-f196.google.com 209.85.215.196 mail-pg1-f196.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.32 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 11/41] util: mdev: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 26 Jul 2018 21:05:53 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When variables of type virMediatedDevicePtr and virMediatedDeviceTypePtr are declared using VIR_AUTOPTR, the functions virMediatedDeviceFree and virMediatedDeviceTypeFree, respectively, will be run automatically on them when they go out of scope. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virmdev.c | 1 - src/util/virmdev.h | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/util/virmdev.c b/src/util/virmdev.c index 6c51388..d7bcb1d 100644 --- a/src/util/virmdev.c +++ b/src/util/virmdev.c @@ -21,7 +21,6 @@ #include "dirname.h" #include "virmdev.h" #include "virlog.h" -#include "viralloc.h" #include "virerror.h" #include "virfile.h" #include "virstring.h" diff --git a/src/util/virmdev.h b/src/util/virmdev.h index cfda2ca..7c93c4d 100644 --- a/src/util/virmdev.h +++ b/src/util/virmdev.h @@ -22,6 +22,7 @@ # include "internal.h" # include "virobject.h" # include "virutil.h" +# include "viralloc.h" =20 typedef enum { VIR_MDEV_MODEL_TYPE_VFIO_PCI =3D 0, @@ -135,4 +136,7 @@ int virMediatedDeviceTypeReadAttrs(const char *sysfspath, virMediatedDeviceTypePtr *type); =20 +VIR_DEFINE_AUTOPTR_FUNC(virMediatedDevice, virMediatedDeviceFree) +VIR_DEFINE_AUTOPTR_FUNC(virMediatedDeviceType, virMediatedDeviceTypeFree) + #endif /* __VIR_MDEV_H__ */ --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639121136786.1825822997157; Thu, 26 Jul 2018 14:05:21 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F00E18110C; Thu, 26 Jul 2018 21:05:13 +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 A773E308BDB3; Thu, 26 Jul 2018 21:05:13 +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 48F6318037F3; Thu, 26 Jul 2018 21:05:13 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL59oO024782 for ; Thu, 26 Jul 2018 17:05:09 -0400 Received: by smtp.corp.redhat.com (Postfix) id C2DD860C80; Thu, 26 Jul 2018 21:05:09 +0000 (UTC) Received: from mx1.redhat.com (ext-mx17.extmail.prod.ext.phx2.redhat.com [10.5.110.46]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B5A4260C8C for ; Thu, 26 Jul 2018 21:05:03 +0000 (UTC) Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 672B630E6844 for ; Thu, 26 Jul 2018 21:05:02 +0000 (UTC) Received: by mail-pg1-f196.google.com with SMTP id z8-v6so1882228pgu.8 for ; Thu, 26 Jul 2018 14:05:02 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.04.59 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=XpARbo5wsw7gdKn8xfTDEQkGF3bpRdcZemYtN9CadCA=; b=QvM0H8dxS7Q8ZsVtcp5vVD69xcUn4t8ysQ9/1V2DB5J76WhmvP4oVudWagAMyPdRJR ROqh+xWopNmJgMgSAcjfERUClbLSdHva7AiBgYdCWsmmExsiCXnO+ouIk+cUB3zUxSuC UhYF+0o6ApYHHzxZd2H0e3aI1avgsr5XNDJmojnNZmA0sv0IGR8fJgar4nyYkjXtJtN5 1lgEYHgmBZw6niK9Aew/lkvGESFtSnebYDXboCSAktjHt4hI2TxouiL1a1MCQezytVC3 ouBGDJgAjgOnU30XDkxD81pMavhWIZ0C6LXM384f8AaNfVwAZBzMHb8sZuBsuszMJugm MS/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=XpARbo5wsw7gdKn8xfTDEQkGF3bpRdcZemYtN9CadCA=; b=dQ36FJB0+VDyy2yDo8q61MejzQGDbo6weVnkoV2SdOdqR1b2Wju9dzssqwfnwuNzGk IGBT3vn7jzdJ5ZUS4ieqEMF/ZJgMWJO9ksnWw4MbivJTqv5dt+Og7n7jmWfeFSrzp84p PujFbFUZ1K1sh5xTkn/0+spiN0tL62oQk/kVXRqDQ/wWVzNKcToMeymeaBJWh2Iyp9bB zK2XbuSfGiXecHOm72sTRVrjhiX1r9+J51B4zX0/UD5TELPDiqHXa9DJancPWtoAjgi1 ryfvKfm24+osVyNqqU4deOunf+uy4VKM9RdeHv70HnPVeAzwwXpNe2rygq4XzLLXGiM6 Px6w== X-Gm-Message-State: AOUpUlE5+fPPPqUszJ3Kd2AAAeS1UF5K4mUc/ZEC303EHBxg/v4SmrJz uXlb2b/96MOFKY9Nz6mvtmN2TO77 X-Google-Smtp-Source: AAOMgpcLWCTsmxvswvM9LN6ZJ1L/c8Q7kV06PtDy2njFM977PRKUwCiSNTjsUhgAj0zdDrCD7cEtJg== X-Received: by 2002:a63:e60c:: with SMTP id g12-v6mr3432605pgh.308.1532639101615; Thu, 26 Jul 2018 14:05:01 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:13 +0530 Message-Id: <1532447562-24010-13-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 26 Jul 2018 21:05:02 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 26 Jul 2018 21:05:02 +0000 (UTC) for IP:'209.85.215.196' DOMAIN:'mail-pg1-f196.google.com' HELO:'mail-pg1-f196.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.196 mail-pg1-f196.google.com 209.85.215.196 mail-pg1-f196.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.46 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 12/41] util: mdev: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 26 Jul 2018 21:05:19 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virmdev.c | 53 +++++++++++++++++++-------------------------------= --- 1 file changed, 19 insertions(+), 34 deletions(-) diff --git a/src/util/virmdev.c b/src/util/virmdev.c index d7bcb1d..81fb847 100644 --- a/src/util/virmdev.c +++ b/src/util/virmdev.c @@ -72,24 +72,23 @@ static int virMediatedDeviceGetSysfsDeviceAPI(virMediatedDevicePtr dev, char **device_api) { - int ret =3D -1; - char *buf =3D NULL; - char *file =3D NULL; + VIR_AUTOFREE(char *) buf =3D NULL; + VIR_AUTOFREE(char *) file =3D NULL; char *tmp =3D NULL; =20 if (virAsprintf(&file, "%s/mdev_type/device_api", dev->path) < 0) - goto cleanup; + return -1; =20 /* TODO - make this a generic method to access sysfs files for various * kinds of devices */ if (!virFileExists(file)) { virReportSystemError(errno, _("failed to read '%s'"), file); - goto cleanup; + return -1; } =20 if (virFileReadAll(file, 1024, &buf) < 0) - goto cleanup; + return -1; =20 if ((tmp =3D strchr(buf, '\n'))) *tmp =3D '\0'; @@ -97,11 +96,7 @@ virMediatedDeviceGetSysfsDeviceAPI(virMediatedDevicePtr = dev, *device_api =3D buf; buf =3D NULL; =20 - ret =3D 0; - cleanup: - VIR_FREE(file); - VIR_FREE(buf); - return ret; + return 0; } =20 =20 @@ -109,8 +104,7 @@ static int virMediatedDeviceCheckModel(virMediatedDevicePtr dev, virMediatedDeviceModelType model) { - int ret =3D -1; - char *dev_api =3D NULL; + VIR_AUTOFREE(char *) dev_api =3D NULL; int actual_model; =20 if (virMediatedDeviceGetSysfsDeviceAPI(dev, &dev_api) < 0) @@ -123,7 +117,7 @@ virMediatedDeviceCheckModel(virMediatedDevicePtr dev, virReportError(VIR_ERR_INTERNAL_ERROR, _("device API '%s' not supported yet"), dev_api); - goto cleanup; + return -1; } =20 if (actual_model !=3D model) { @@ -132,13 +126,10 @@ virMediatedDeviceCheckModel(virMediatedDevicePtr dev, "device only supports '%s'"), virMediatedDeviceModelTypeToString(model), dev->path, dev_api); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - VIR_FREE(dev_api); - return ret; + return 0; } =20 =20 @@ -147,7 +138,7 @@ virMediatedDeviceNew(const char *uuidstr, virMediatedDe= viceModelType model) { virMediatedDevicePtr ret =3D NULL; virMediatedDevicePtr dev =3D NULL; - char *sysfspath =3D NULL; + VIR_AUTOFREE(char *) sysfspath =3D NULL; =20 if (!(sysfspath =3D virMediatedDeviceGetSysfsPath(uuidstr))) goto cleanup; @@ -173,7 +164,6 @@ virMediatedDeviceNew(const char *uuidstr, virMediatedDe= viceModelType model) VIR_STEAL_PTR(ret, dev); =20 cleanup: - VIR_FREE(sysfspath); virMediatedDeviceFree(dev); return ret; } @@ -218,34 +208,30 @@ virMediatedDeviceGetPath(virMediatedDevicePtr dev) char * virMediatedDeviceGetIOMMUGroupDev(const char *uuidstr) { - char *result_path =3D NULL; - char *iommu_path =3D NULL; + VIR_AUTOFREE(char *) result_path =3D NULL; + VIR_AUTOFREE(char *) iommu_path =3D NULL; + VIR_AUTOFREE(char *) dev_path =3D virMediatedDeviceGetSysfsPath(uuidst= r); char *vfio_path =3D NULL; - char *dev_path =3D virMediatedDeviceGetSysfsPath(uuidstr); =20 if (!dev_path) return NULL; =20 if (virAsprintf(&iommu_path, "%s/iommu_group", dev_path) < 0) - goto cleanup; + return NULL; =20 if (!virFileExists(iommu_path)) { virReportSystemError(errno, _("failed to access '%s'"), iommu_path= ); - goto cleanup; + return NULL; } =20 if (virFileResolveLink(iommu_path, &result_path) < 0) { virReportSystemError(errno, _("failed to resolve '%s'"), iommu_pat= h); - goto cleanup; + return NULL; } =20 if (virAsprintf(&vfio_path, "/dev/vfio/%s", last_component(result_path= )) < 0) - goto cleanup; + return NULL; =20 - cleanup: - VIR_FREE(result_path); - VIR_FREE(iommu_path); - VIR_FREE(dev_path); return vfio_path; } =20 @@ -253,7 +239,7 @@ virMediatedDeviceGetIOMMUGroupDev(const char *uuidstr) int virMediatedDeviceGetIOMMUGroupNum(const char *uuidstr) { - char *vfio_path =3D NULL; + VIR_AUTOFREE(char *) vfio_path =3D NULL; char *group_num_str =3D NULL; unsigned int group_num =3D -1; =20 @@ -263,7 +249,6 @@ virMediatedDeviceGetIOMMUGroupNum(const char *uuidstr) group_num_str =3D last_component(vfio_path); ignore_value(virStrToLong_ui(group_num_str, NULL, 10, &group_num)); =20 - VIR_FREE(vfio_path); return group_num; } =20 --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639132304316.7400742265427; Thu, 26 Jul 2018 14:05:32 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 8682C308403D; Thu, 26 Jul 2018 21:05:25 +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 4545F60C9A; Thu, 26 Jul 2018 21:05:25 +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 D217F3F7CB; Thu, 26 Jul 2018 21:05:24 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL58Wl024776 for ; Thu, 26 Jul 2018 17:05:08 -0400 Received: by smtp.corp.redhat.com (Postfix) id 94C5B10E4D01; Thu, 26 Jul 2018 21:05:08 +0000 (UTC) Received: from mx1.redhat.com (ext-mx09.extmail.prod.ext.phx2.redhat.com [10.5.110.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8AE4610E4D00 for ; Thu, 26 Jul 2018 21:05:06 +0000 (UTC) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 67BAB8CD3 for ; Thu, 26 Jul 2018 21:05:04 +0000 (UTC) Received: by mail-pg1-f170.google.com with SMTP id v13-v6so1877714pgr.10 for ; Thu, 26 Jul 2018 14:05:04 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=Ua6whswXA7n3C4wMPUomNRgl1JyQhr784YL5wBCwOfA=; b=XfOtD3X3eGBgXq+Ah32bz74Cg9XlLgw/D7EPf5VJa0UlrJGjmohwN5zVduNoi94mAf 7ttRgzN6lrtdu9C8aXXwxJ7vWcC07qBsbLk4l1Ry7OQz++5jxGVKY5Do0CdvyW4sxyXR yupI/JuyWTJn18TD2N+fcJhErt3pNc6yznExvGLRXpavwK/WXHX9fxsynLerWgzxRiah 29o8HbjXdhBu0iQiQXeEWrtLU2p9gZdZtTwqgip3zbskKvzOHalSuSEDo1M8w53Qv58B R+N0s1PltKPvOkVYfUxfM1xTExF11pCpDJqlzR9/YSgVjono6KayHSDg3AELzsEiv9+h VRRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=Ua6whswXA7n3C4wMPUomNRgl1JyQhr784YL5wBCwOfA=; b=MmGEdWPC4dwAaUf6z1PTJYDirUlLUX7fNH7ScQslZKChNxPJy1BixrjgmDLgPcBnWE ZeFNRHUKaGhugOd8pv9ve3qpICfvKRc3Mf+lYMv3TORJbwSf0IZrTTlQ//OeQq19giPJ 5F20V6EjYkz3jqI4bg4vofaMs7wfi6DIrLpRu8CarHCyIFMbA1EKjOMkLpx05vZWmpDV fBrIB+1QJG9WZ6yxCEDnzMB4aVdJnp4jA8+zR24+eHLjX0F75PLhidIIeV8XkWk9YPSU btTWdbNK8ImyElfYRWrY4tDWMldzt9sNFyaW6h1pUPXddgo3gvF5x8cLvwpztRzao/WM s7DA== X-Gm-Message-State: AOUpUlGC4V4zSqek5MYKVl5c3Ewlg01jPVC/GA4DfSPnqfDaUcNxIrGg QXzLAzHpeLKssKyBfbx0OMJmuP57 X-Google-Smtp-Source: AAOMgpcWJv3qEilcFzFd96kRqbRwynokPFmcFBAChmZVCryqHggfaes2akRpw2tSqIug04FWpa36Qg== X-Received: by 2002:a63:704f:: with SMTP id a15-v6mr3359528pgn.443.1532639103458; Thu, 26 Jul 2018 14:05:03 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:14 +0530 Message-Id: <1532447562-24010-14-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:05:04 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:05:04 +0000 (UTC) for IP:'209.85.215.170' DOMAIN:'mail-pg1-f170.google.com' HELO:'mail-pg1-f170.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.170 mail-pg1-f170.google.com 209.85.215.170 mail-pg1-f170.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.38 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 13/41] util: mdev: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:05:26 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virmdev.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/src/util/virmdev.c b/src/util/virmdev.c index 81fb847..4050835 100644 --- a/src/util/virmdev.c +++ b/src/util/virmdev.c @@ -137,20 +137,20 @@ virMediatedDevicePtr virMediatedDeviceNew(const char *uuidstr, virMediatedDeviceModelType model) { virMediatedDevicePtr ret =3D NULL; - virMediatedDevicePtr dev =3D NULL; + VIR_AUTOPTR(virMediatedDevice) dev =3D NULL; VIR_AUTOFREE(char *) sysfspath =3D NULL; =20 if (!(sysfspath =3D virMediatedDeviceGetSysfsPath(uuidstr))) - goto cleanup; + return NULL; =20 if (!virFileExists(sysfspath)) { virReportError(VIR_ERR_DEVICE_MISSING, _("mediated device '%s' not found"), uuidstr); - goto cleanup; + return NULL; } =20 if (VIR_ALLOC(dev) < 0) - goto cleanup; + return NULL; =20 VIR_STEAL_PTR(dev->path, sysfspath); =20 @@ -158,13 +158,11 @@ virMediatedDeviceNew(const char *uuidstr, virMediated= DeviceModelType model) * supported mediated device's API. */ if (virMediatedDeviceCheckModel(dev, model)) - goto cleanup; + return NULL; =20 dev->model =3D model; VIR_STEAL_PTR(ret, dev); =20 - cleanup: - virMediatedDeviceFree(dev); return ret; } =20 @@ -372,8 +370,7 @@ void virMediatedDeviceListDel(virMediatedDeviceListPtr list, virMediatedDevicePtr dev) { - virMediatedDevicePtr ret =3D virMediatedDeviceListSteal(list, dev); - virMediatedDeviceFree(ret); + VIR_AUTOPTR(virMediatedDevice) ret =3D virMediatedDeviceListSteal(list= , dev); } =20 =20 @@ -494,23 +491,22 @@ int virMediatedDeviceTypeReadAttrs(const char *sysfspath, virMediatedDeviceTypePtr *type) { - int ret =3D -1; - virMediatedDeviceTypePtr tmp =3D NULL; + VIR_AUTOPTR(virMediatedDeviceType) tmp =3D NULL; =20 #define MDEV_GET_SYSFS_ATTR(attr, dst, cb, optional) \ do { \ int rc; \ if ((rc =3D cb(dst, "%s/%s", sysfspath, attr)) < 0) { \ if (rc !=3D -2 || !optional) \ - goto cleanup; \ + return -1; \ } \ } while (0) =20 if (VIR_ALLOC(tmp) < 0) - goto cleanup; + return -1; =20 if (VIR_STRDUP(tmp->id, last_component(sysfspath)) < 0) - goto cleanup; + return -1; =20 /* @name sysfs attribute is optional, so getting ENOENT is fine */ MDEV_GET_SYSFS_ATTR("name", &tmp->name, virFileReadValueString, true); @@ -522,8 +518,6 @@ virMediatedDeviceTypeReadAttrs(const char *sysfspath, #undef MDEV_GET_SYSFS_ATTR =20 VIR_STEAL_PTR(*type, tmp); - ret =3D 0; - cleanup: - virMediatedDeviceTypeFree(tmp); - return ret; + + return 0; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639120996507.07595053182797; Thu, 26 Jul 2018 14:05:20 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id C21F130832E4; Thu, 26 Jul 2018 21:05:18 +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 8ECB06017C; Thu, 26 Jul 2018 21:05:18 +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 438AE4A46C; Thu, 26 Jul 2018 21:05:18 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5BFN024796 for ; Thu, 26 Jul 2018 17:05:11 -0400 Received: by smtp.corp.redhat.com (Postfix) id 42859308BDB4; Thu, 26 Jul 2018 21:05:11 +0000 (UTC) Received: from mx1.redhat.com (ext-mx04.extmail.prod.ext.phx2.redhat.com [10.5.110.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 38B60308BDB3 for ; Thu, 26 Jul 2018 21:05:06 +0000 (UTC) Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 24A458110D for ; Thu, 26 Jul 2018 21:05:06 +0000 (UTC) Received: by mail-pg1-f171.google.com with SMTP id e6-v6so1889526pgv.2 for ; Thu, 26 Jul 2018 14:05:06 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.03 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=gQpeXyarUnvv1wyrubwLo5J6jMNlul0S+cm54M5G3kc=; b=A8kF6eYxXksYkzLgnnVZZxkEXZGsPjXaK0Z8N1Aw7oCYiuaF9RoR5YV+zyIQA5hHtb q6LR+n7dQ3wXYHKy3hsjL/BV7Ykw/FtypRi3NCHE65WU86vPdWDki/vWAnWXNyYepdvQ z78/JQsIW2IfLJ1yNOGc3aLwQ1wyK//jAtSDn9Ok4Nbi/Mxsm99J1jBQt1sfKBTuDdEW QNXD+JbUNMK0wtCNIZ3+SV+Fd3Di2mehmDMvwyL33Jcpp5o2WBLlPidTQp6oB6YXA2Nq 2SVui8OdtvGYHp6f0tRa5a/YFSp6hJocKVuz5kuiwKls0X6CZdlo1EazGbGe9u/vZuM5 MGdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=gQpeXyarUnvv1wyrubwLo5J6jMNlul0S+cm54M5G3kc=; b=ZP3lR1w2ozPu9dKN4KjZMTMSgkDRyMvgBZ3+ZPYf7pdB/o+RnoDv+b3TQwcR/U9PQa 7DdbVNhbAtnUKZSSducvJ+eTVBh5moRKzjrdkhL8s9d3VXmrinKqoOVhW+x21tKMb1Zl CXp0pYJyIM4PJnWay1Zio/nM3WvChd7CiEg7p86rx3/+v5SBKiI0kwrmdGfheordmhyV F/0FjzKBPNjZ6q03u1yLddn8x4sc1Y0K9YGWiKEvw+LrptHtTy9H2vCJ4Y1wriEuJ2BC aN3dYMz4yCeDY9hUYUlhtXl2NIM5EfxShPVNuMYkBmfS98H/X11EPoGE4XOrt1zKsz2e bPSw== X-Gm-Message-State: AOUpUlGcsxNoy4OeMpauqkBIeZGwk2oUx/ew68Ufd1I5YzboXgH4B34Y 23g2AKP8liSVLJBc3S8iXO7boxoj X-Google-Smtp-Source: AAOMgpcnJgTSCQv4OF2x2wERbW51MEtFx3oacdt5bizwxILwyWnuMhIeeSKc7fmTgqerbP97jJJPMQ== X-Received: by 2002:a63:920c:: with SMTP id o12-v6mr3391424pgd.141.1532639105382; Thu, 26 Jul 2018 14:05:05 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:15 +0530 Message-Id: <1532447562-24010-15-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 26 Jul 2018 21:05:06 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 26 Jul 2018 21:05:06 +0000 (UTC) for IP:'209.85.215.171' DOMAIN:'mail-pg1-f171.google.com' HELO:'mail-pg1-f171.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.171 mail-pg1-f171.google.com 209.85.215.171 mail-pg1-f171.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.28 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 14/41] util: firewall: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Thu, 26 Jul 2018 21:05:19 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When a variable of type virFirewallPtr is declared using VIR_AUTOPTR, the function virFirewallFree will be run automatically on it when it goes out of scope. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virfirewall.c | 1 - src/util/virfirewall.h | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c index 10c370a..dfd792f 100644 --- a/src/util/virfirewall.c +++ b/src/util/virfirewall.c @@ -27,7 +27,6 @@ =20 #include =20 -#include "viralloc.h" #include "virfirewallpriv.h" #include "virerror.h" #include "virutil.h" diff --git a/src/util/virfirewall.h b/src/util/virfirewall.h index b04ab48..e024e88 100644 --- a/src/util/virfirewall.h +++ b/src/util/virfirewall.h @@ -25,6 +25,7 @@ # define __VIR_FIREWALL_H__ =20 # include "internal.h" +# include "viralloc.h" =20 typedef struct _virFirewall virFirewall; typedef virFirewall *virFirewallPtr; @@ -116,4 +117,6 @@ int virFirewallApply(virFirewallPtr firewall); =20 void virFirewallSetLockOverride(bool avoid); =20 +VIR_DEFINE_AUTOPTR_FUNC(virFirewall, virFirewallFree) + #endif /* __VIR_FIREWALL_H__ */ --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639131884418.35036386898776; Thu, 26 Jul 2018 14:05:31 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id DA4F828214; Thu, 26 Jul 2018 21:05:29 +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 9860260910; Thu, 26 Jul 2018 21:05: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 440D818037FD; Thu, 26 Jul 2018 21:05:29 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL59s4024783 for ; Thu, 26 Jul 2018 17:05:09 -0400 Received: by smtp.corp.redhat.com (Postfix) id BF25360C8F; Thu, 26 Jul 2018 21:05:09 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B50E660C80 for ; Thu, 26 Jul 2018 21:05:09 +0000 (UTC) Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0C60A1279B for ; Thu, 26 Jul 2018 21:05:08 +0000 (UTC) Received: by mail-pf1-f178.google.com with SMTP id j26-v6so967471pfi.10 for ; Thu, 26 Jul 2018 14:05:08 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.05 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=aJpbopE0VruhbIcHy40PuopspIICI4X4Z3WOsG8kqxk=; b=JGgZ9/6whzgDL9SUfENX0Ro0ovGdgtH4Yac27M4mYGLDfpgCGOEJRUZwyL2XYbPTp4 iqmc7G7EUiCmXqBX56L+KzqtUva/vq898AuFWrWs5Z+hwjvCqjj4r30gND3a6v3sqDM6 fC5BH8gXwYwemb28i/ic2zitMae3BE8nnGfA3109XD5goB+yJAc92jzuoiQmoTdbUBo/ IbVM0VzlJXJYnjeeO78s/EFvCPDqBbrqpIS4ns9Wche1rLIGiKX3hwtKDeVyaZ/PJ/0G y/61DLrmru4SohE1TakNC0VdGmIrFG0OnSb7DQGZVmKfij2vsS7837Q4j5M69kr1cAtY 6evw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=aJpbopE0VruhbIcHy40PuopspIICI4X4Z3WOsG8kqxk=; b=l8DCHQzhQs9h60U353EAFZDqcZMGO+Kdn03IZwk/F5JvcV4k55WqArqi9Yd+uTBfVr wngyOL7UneDlTOjH67V/Ts7etZ7rNF85Ynl520trX2WrHmkZcpOzbzCmcf+KtXrRbLcS kkiIxbXZSSfFOJprW1f9nY1j4/WT1qDkHhXIFSB7PqzSBLZ+r/LieriAe3IAtEwoHPuU 2oDVSFLU4iU0cEMOpWO14mjjhNXGkRge7V69gJadxjuVUdPD5bh9PsiLOx7OeSGz/KiQ w8jhG1x78FezWtHFROcvAuABcqzgzqBLqRzGkIhvlyObofuxzsOQiQOVBb4rcwKOOUJI s80Q== X-Gm-Message-State: AOUpUlEpu9SYWM5SOGHfZh7YIt9mNF817TbOTht7SDPpfg83XwoLrFLX g/LVGgKxf0ZoQ3d2TLJa2HYff1om X-Google-Smtp-Source: AAOMgpeyl3/SdVxpPLJ+KvBG1znvGri/mk00cmP2zQgRaMK8C0xzYoFTwAJ9eBIW9eTpMvCpFDmwdw== X-Received: by 2002:a63:6d8b:: with SMTP id i133-v6mr3406897pgc.215.1532639107278; Thu, 26 Jul 2018 14:05:07 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:16 +0530 Message-Id: <1532447562-24010-16-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:08 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:08 +0000 (UTC) for IP:'209.85.210.178' DOMAIN:'mail-pf1-f178.google.com' HELO:'mail-pf1-f178.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.39 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.210.178 mail-pf1-f178.google.com 209.85.210.178 mail-pf1-f178.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 15/41] util: firewall: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:30 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar --- src/util/virfirewall.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c index dfd792f..b4a4d06 100644 --- a/src/util/virfirewall.c +++ b/src/util/virfirewall.c @@ -511,7 +511,7 @@ void virFirewallRuleAddArgFormat(virFirewallPtr firewal= l, virFirewallRulePtr rule, const char *fmt, ...) { - char *arg; + VIR_AUTOFREE(char *) arg =3D NULL; va_list list; =20 VIR_FIREWALL_RULE_RETURN_IF_ERROR(firewall, rule); @@ -525,13 +525,11 @@ void virFirewallRuleAddArgFormat(virFirewallPtr firew= all, =20 va_end(list); =20 - VIR_FREE(arg); return; =20 no_memory: firewall->err =3D ENOMEM; va_end(list); - VIR_FREE(arg); } =20 =20 @@ -678,7 +676,7 @@ virFirewallApplyRuleDirect(virFirewallRulePtr rule, virCommandPtr cmd =3D NULL; int status; int ret =3D -1; - char *error =3D NULL; + VIR_AUTOFREE(char *) error =3D NULL; =20 if (!bin) { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -702,11 +700,10 @@ virFirewallApplyRuleDirect(virFirewallRulePtr rule, if (ignoreErrors) { VIR_DEBUG("Ignoring error running command"); } else { - char *args =3D virCommandToString(cmd); + VIR_AUTOFREE(char *) args =3D virCommandToString(cmd); virReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to apply firewall rules %s: %s"), NULLSTR(args), NULLSTR(error)); - VIR_FREE(args); VIR_FREE(*output); goto cleanup; } @@ -714,7 +711,6 @@ virFirewallApplyRuleDirect(virFirewallRulePtr rule, =20 ret =3D 0; cleanup: - VIR_FREE(error); virCommandFree(cmd); return ret; } @@ -807,12 +803,11 @@ virFirewallApplyRule(virFirewallPtr firewall, virFirewallRulePtr rule, bool ignoreErrors) { - char *output =3D NULL; + VIR_AUTOFREE(char *) output =3D NULL; + VIR_AUTOFREE(char *) str =3D virFirewallRuleToString(rule); char **lines =3D NULL; int ret =3D -1; - char *str =3D virFirewallRuleToString(rule); VIR_INFO("Applying rule '%s'", NULLSTR(str)); - VIR_FREE(str); =20 if (rule->ignoreErrors) ignoreErrors =3D rule->ignoreErrors; @@ -857,7 +852,6 @@ virFirewallApplyRule(virFirewallPtr firewall, ret =3D 0; cleanup: virStringListFree(lines); - VIR_FREE(output); return ret; } =20 --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639177640804.4815772936372; Thu, 26 Jul 2018 14:06:17 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 9DFC1C057FA8; Thu, 26 Jul 2018 21:06:02 +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 5F66260181; Thu, 26 Jul 2018 21:06:02 +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 088AE1800B7E; Thu, 26 Jul 2018 21:06:02 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5FB1024818 for ; Thu, 26 Jul 2018 17:05:15 -0400 Received: by smtp.corp.redhat.com (Postfix) id 6FC81CE220; Thu, 26 Jul 2018 21:05:15 +0000 (UTC) Received: from mx1.redhat.com (ext-mx08.extmail.prod.ext.phx2.redhat.com [10.5.110.32]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 67B8ECE20B for ; Thu, 26 Jul 2018 21:05:11 +0000 (UTC) Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EEFDFC057F85 for ; Thu, 26 Jul 2018 21:05:09 +0000 (UTC) Received: by mail-pg1-f177.google.com with SMTP id k3-v6so1886675pgq.5 for ; Thu, 26 Jul 2018 14:05:09 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.07 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=ml9xGzAqmy9FcNeRbANrmZkm9A2iUOyWZ1Igh7JZeg8=; b=QdJWoZvjteddbopuiQHn593GIWxKMNukao/sOFivdtPX4DSOJXdnlAc4IUHvuTY3iR FB0QbX2VV6D04CzXobkJ5aF39WqtqaBAZT1EVsyYBUSvCH/ww1MdbAaI7z8FXw1RJ2jB gzZHD/Gvm/6vvzHxaBel/20/Gzn0g+hnBZp6NQR5IcsNehOjHAB+C6ZNA75tcZ74Cr3c 4didq/pLmQjsoF0dDnaDjn60EKG7S9w2R+jTs/M0zr0KcON89kcExLHy+NIQs6LNLbYw +Ow2mmm2NCqCkJvraYNlVxtTgh2+jwhLB2nI522c2kEG7fGvQt2XwhwH9X7b5X0aVBc7 efew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=ml9xGzAqmy9FcNeRbANrmZkm9A2iUOyWZ1Igh7JZeg8=; b=WmHwh0r9cRvn+bn1w5BaUlVNxWNSj4pnwvN7zBmMn54sU1YU8Yuv4lZj//XSB552uQ tOMToPz85NWEH9ysV+IjVs5cka0yGGIQBcduVyj48XhGaoKKnUCbhkMB9ly/YCZ/grCQ UV7VQwIJl4c3AfheqJisHE5mZybQm+zQQi/XeQs264h/L2fj9Ryp2kXUIGy3Xp2/gPJQ 7Qy24be/766WIOn3Ag0zqEZTdlg0oxm5a+GbOu1qJKB6c7zkAB/lcuYeg5D8lHkkEtee yNolaF/yoeHPHGhCCzouc7O6UzO58ovXoWjfeY/w1gIA+MzBcAnylITSUO4h5D2BvEey dKqw== X-Gm-Message-State: AOUpUlHQn1/cNiGqCn0h/F+QusJsiufnP+UUv9aLIwSQlgHIiOfmXK2Q wTNMw1Ayx0GlXc+eJbFCBN15xfWx X-Google-Smtp-Source: AAOMgpf6gWIQshuoXKSQws2/ClzCcImq5zBQT4xvSgZDHXGMLMHQlgKfF0Yq22H1CvvZF9eK64F+Pg== X-Received: by 2002:a62:3b03:: with SMTP id i3-v6mr3642820pfa.197.1532639109180; Thu, 26 Jul 2018 14:05:09 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:17 +0530 Message-Id: <1532447562-24010-17-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 26 Jul 2018 21:05:10 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 26 Jul 2018 21:05:10 +0000 (UTC) for IP:'209.85.215.177' DOMAIN:'mail-pg1-f177.google.com' HELO:'mail-pg1-f177.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.177 mail-pg1-f177.google.com 209.85.215.177 mail-pg1-f177.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.32 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.27 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 16/41] util: firewall: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 26 Jul 2018 21:06:16 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virfirewall.c | 36 +++++++++++++----------------------- 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/src/util/virfirewall.c b/src/util/virfirewall.c index b4a4d06..c786d76 100644 --- a/src/util/virfirewall.c +++ b/src/util/virfirewall.c @@ -119,14 +119,13 @@ virFirewallCheckUpdateLock(bool *lockflag, const char *const*args) { int status; /* Ignore failed commands without logging them */ - virCommandPtr cmd =3D virCommandNewArgs(args); + VIR_AUTOPTR(virCommand) cmd =3D virCommandNewArgs(args); if (virCommandRun(cmd, &status) < 0 || status) { VIR_INFO("locking not supported by %s", args[0]); } else { VIR_INFO("using locking for %s", args[0]); *lockflag =3D true; } - virCommandFree(cmd); } =20 static void @@ -673,16 +672,15 @@ virFirewallApplyRuleDirect(virFirewallRulePtr rule, { size_t i; const char *bin =3D virFirewallLayerCommandTypeToString(rule->layer); - virCommandPtr cmd =3D NULL; + VIR_AUTOPTR(virCommand) cmd =3D NULL; int status; - int ret =3D -1; VIR_AUTOFREE(char *) error =3D NULL; =20 if (!bin) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Unknown firewall layer %d"), rule->layer); - goto cleanup; + return -1; } =20 cmd =3D virCommandNewArgList(bin, NULL); @@ -694,7 +692,7 @@ virFirewallApplyRuleDirect(virFirewallRulePtr rule, virCommandSetErrorBuffer(cmd, &error); =20 if (virCommandRun(cmd, &status) < 0) - goto cleanup; + return -1; =20 if (status !=3D 0) { if (ignoreErrors) { @@ -705,14 +703,11 @@ virFirewallApplyRuleDirect(virFirewallRulePtr rule, _("Failed to apply firewall rules %s: %s"), NULLSTR(args), NULLSTR(error)); VIR_FREE(*output); - goto cleanup; + return -1; } } =20 - ret =3D 0; - cleanup: - virCommandFree(cmd); - return ret; + return 0; } =20 =20 @@ -805,8 +800,7 @@ virFirewallApplyRule(virFirewallPtr firewall, { VIR_AUTOFREE(char *) output =3D NULL; VIR_AUTOFREE(char *) str =3D virFirewallRuleToString(rule); - char **lines =3D NULL; - int ret =3D -1; + VIR_AUTOPTR(virString) lines =3D NULL; VIR_INFO("Applying rule '%s'", NULLSTR(str)); =20 if (rule->ignoreErrors) @@ -831,28 +825,25 @@ virFirewallApplyRule(virFirewallPtr firewall, =20 if (rule->queryCB && output) { if (!(lines =3D virStringSplit(output, "\n", -1))) - goto cleanup; + return -1; =20 VIR_DEBUG("Invoking query %p with '%s'", rule->queryCB, output); if (rule->queryCB(firewall, (const char *const *)lines, rule->quer= yOpaque) < 0) - goto cleanup; + return -1; =20 if (firewall->err =3D=3D ENOMEM) { virReportOOMError(); - goto cleanup; + return -1; } if (firewall->err) { virReportSystemError(firewall->err, "%s", _("Unable to create rule")); - goto cleanup; + return -1; } =20 } =20 - ret =3D 0; - cleanup: - virStringListFree(lines); - return ret; + return 0; } =20 static int @@ -926,7 +917,7 @@ virFirewallApply(virFirewallPtr firewall) if (virFirewallApplyGroup(firewall, i) < 0) { VIR_DEBUG("Rolling back groups up to %zu for %p", i, firewall); size_t first =3D i; - virErrorPtr saved_error =3D virSaveLastError(); + VIR_AUTOPTR(virError) saved_error =3D virSaveLastError(); =20 /* * Look at any inheritance markers to figure out @@ -947,7 +938,6 @@ virFirewallApply(virFirewallPtr firewall) } =20 virSetError(saved_error); - virFreeError(saved_error); VIR_DEBUG("Done rolling back groups for %p", firewall); goto cleanup; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 153263916952911.089447365213573; Thu, 26 Jul 2018 14:06:09 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AC3DEC04AC43; Thu, 26 Jul 2018 21:06:07 +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 713553001A7C; Thu, 26 Jul 2018 21:06:07 +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 1A9951800B85; Thu, 26 Jul 2018 21:06:07 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5Gpp024825 for ; Thu, 26 Jul 2018 17:05:16 -0400 Received: by smtp.corp.redhat.com (Postfix) id 4191C16D23; Thu, 26 Jul 2018 21:05:16 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 355B119490 for ; Thu, 26 Jul 2018 21:05:12 +0000 (UTC) Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0A1008762C for ; Thu, 26 Jul 2018 21:05:12 +0000 (UTC) Received: by mail-pg1-f182.google.com with SMTP id y4-v6so1882624pgp.9 for ; Thu, 26 Jul 2018 14:05:12 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.09 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=A8QqSlcm3hy+uslezMQbZtM+kiYbZm/rWuXEuOCb2/4=; b=EPXjbcfd5bqU5PkWiPtsiZjllDJvMO0Dcn4IiPXRvnAeq2xg+eIFLo69SV4pW8r9AM Vr8+kJUiC4TyQ/Ice1h0UnYjdQV69i9hY8spxj+XldhKDAPjTIPm1WwC0Dc9LwHkMPVO PUArr/WArLipqLxlqHh1VIzG30j5y51E9oTkc0+jtSjucwXTcchryBomJeepR0i9F3ng IxXYiL9TvVuw9D/t87swRpGRHR8Z0XcZsp6xRlW6mndLFwh4SAMKO61u0geAsMwf+rTN 95TmBHYru+3NTi5gvCMonv3WwMUjObgjSfLf6cv09QgymNqSdxbb4/UJvhsjAxPeSDN3 gfSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=A8QqSlcm3hy+uslezMQbZtM+kiYbZm/rWuXEuOCb2/4=; b=d7Hp9neeOwCnwzGzg5VQDftdQvLqZx6vsfmi8o2btByk3zhE+m9Acw/yvkVKgJW0nb aE+NdOPcCE4z0jlBuG2Ttivel7Gs4BfCr3V+yS6WDDGf8wYpqS7+igrKA3EeBGkQmL4f KvpgdtI8C/Odd8a3JIAc/bqN0N0BqDATOzkwlnzvgk7sl5ctgilNT5P81sJOm7XVc40s 8LeBPQPvVS5DukUaA4ZNEGVD0pt6vMYVaiUKFc7ziR0hU02LILtQuGHDGGCBE6n0Fm8p NJjcMcUUeAzxnCVkT04/1AAnvY184LZ/R5yj3yVSMl5hcZ/SQqXf0cDY7OUtqYHnDsRS H4sg== X-Gm-Message-State: AOUpUlGDEm0I0LvoKlH3m37yM4UChVtwX1uIy6ohq9nZzdTTGqe75TXK +GuO0OAzV857+H5FG95Z/jMPb5JD X-Google-Smtp-Source: AAOMgpdY8YE63xAVk0IAKvcreR2OoOva43nRf1PDb8oyBUm2O8iPtXYnS1j9vSvLbLQqTKQGwzpu+A== X-Received: by 2002:a62:45d2:: with SMTP id n79-v6mr3643334pfi.137.1532639111240; Thu, 26 Jul 2018 14:05:11 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:18 +0530 Message-Id: <1532447562-24010-18-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:12 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:12 +0000 (UTC) for IP:'209.85.215.182' DOMAIN:'mail-pg1-f182.google.com' HELO:'mail-pg1-f182.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.182 mail-pg1-f182.google.com 209.85.215.182 mail-pg1-f182.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 17/41] util: hook: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 26 Jul 2018 21:06:08 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virhook.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/util/virhook.c b/src/util/virhook.c index facd74a..4673655 100644 --- a/src/util/virhook.c +++ b/src/util/virhook.c @@ -122,8 +122,7 @@ static int virHooksFound =3D -1; static int virHookCheck(int no, const char *driver) { - char *path; - int ret; + VIR_AUTOFREE(char *) path =3D NULL; =20 if (driver =3D=3D NULL) { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -139,18 +138,17 @@ virHookCheck(int no, const char *driver) } =20 if (!virFileExists(path)) { - ret =3D 0; VIR_DEBUG("No hook script %s", path); - } else if (!virFileIsExecutable(path)) { - ret =3D 0; + return 0; + } + + if (!virFileIsExecutable(path)) { VIR_WARN("Non-executable hook script %s", path); - } else { - ret =3D 1; - VIR_DEBUG("Found hook script %s", path); + return 0; } =20 - VIR_FREE(path); - return ret; + VIR_DEBUG("Found hook script %s", path); + return 1; } =20 /* @@ -233,7 +231,7 @@ virHookCall(int driver, char **output) { int ret; - char *path; + VIR_AUTOFREE(char *) path =3D NULL; virCommandPtr cmd; const char *drvstr; const char *opstr; @@ -318,7 +316,5 @@ virHookCall(int driver, =20 virCommandFree(cmd); =20 - VIR_FREE(path); - return ret; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639140617603.4401988589924; Thu, 26 Jul 2018 14:05:40 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 3EA513001FC7; Thu, 26 Jul 2018 21:05:23 +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 02D8561294; Thu, 26 Jul 2018 21:05:22 +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 97B363F8F1; Thu, 26 Jul 2018 21:05:22 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5JWk024838 for ; Thu, 26 Jul 2018 17:05:19 -0400 Received: by smtp.corp.redhat.com (Postfix) id 02FFD1001F4E; Thu, 26 Jul 2018 21:05:19 +0000 (UTC) Received: from mx1.redhat.com (ext-mx15.extmail.prod.ext.phx2.redhat.com [10.5.110.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 984861001938 for ; Thu, 26 Jul 2018 21:05:14 +0000 (UTC) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DA7D830832E4 for ; Thu, 26 Jul 2018 21:05:13 +0000 (UTC) Received: by mail-pg1-f170.google.com with SMTP id v13-v6so1877914pgr.10 for ; Thu, 26 Jul 2018 14:05:13 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.11 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=05juxiprNj12mWbOZzU724z0tRd0KMiHwtjXE7FGM70=; b=kyQ72U/o7t4OmYZedjEWNIgHBvLHmoh1eaWike1xEwPNVSOMaZ4n7kUxhvgUsmYGli 4aJHyoSjonFPV5vjM+AWiUjJok+saEqkly0Ra3xOga9S1/RPljNQ7dNZqRfVu/ZnHaQf Hd8OUPrbi4nUWODiyRD4vPZE6RsC4N6If2G+TSBgvJyTDj5mzSUUgLop00jNyLkh7BHo AkRLe4IUFqWD1zqTjdRhZXO+twcXBTcvPYffOfJUkFMN5TmA0lQfBOdG9tQYIn4E2LLp OAtJtDsZYyE9Hi9p9UOt+B4xwvg8k4Ffa2k/rKXEeQWiq8puKnMVUxZ1gfAEh+sw37tn 1eYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=05juxiprNj12mWbOZzU724z0tRd0KMiHwtjXE7FGM70=; b=I4I1azY/WCLRjAtFUYmeJyxVQcBP9FA+efjv1ArLjr8roReb9hmVNQPyELf0P/G5OP n9pAoGPWfXaidhzaC7a9W5BG6RidgPCoOxLz/SM3oCWHcw54kXO08hcls4BFBXIm0wrq IjJIMVaEediLV/6vHi+Ic8gwhc6m4iUzBvi5uSV/FrPCroqkrDipoFz62vz90Pnne7n3 kYJCIFJCbzqKq/bTLY06Fut7Ame4pXP0ynNEXQKof+1fQXEl62D0u83abgWWQOf3PZhG VNNy1aFLrCsIKGHWbU1LwcuqEO/eEA6W+Lst6WHzMOJ6FU9hzKepNzye/QohQgbrv4wL SN+A== X-Gm-Message-State: AOUpUlF6akk/b5J2mWRGm1J6lbpYybifY7pFGBCFSse4/9ci66BQ14Au gV66VftX8NE0SSnksjL4sCo0rwii X-Google-Smtp-Source: AAOMgpduioXeefDgkWhetbw+HyCkUZehe8WplnEdKc+x2vbOagT8akR7iTz78i4Vbnj6j3/TAWiUzg== X-Received: by 2002:a62:1314:: with SMTP id b20-v6mr3708664pfj.230.1532639113128; Thu, 26 Jul 2018 14:05:13 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:19 +0530 Message-Id: <1532447562-24010-19-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Thu, 26 Jul 2018 21:05:13 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Thu, 26 Jul 2018 21:05:13 +0000 (UTC) for IP:'209.85.215.170' DOMAIN:'mail-pg1-f170.google.com' HELO:'mail-pg1-f170.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.170 mail-pg1-f170.google.com 209.85.215.170 mail-pg1-f170.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.44 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 18/41] util: hook: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Thu, 26 Jul 2018 21:05:23 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virhook.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/util/virhook.c b/src/util/virhook.c index 4673655..993f06d 100644 --- a/src/util/virhook.c +++ b/src/util/virhook.c @@ -232,7 +232,7 @@ virHookCall(int driver, { int ret; VIR_AUTOFREE(char *) path =3D NULL; - virCommandPtr cmd; + VIR_AUTOPTR(virCommand) cmd =3D NULL; const char *drvstr; const char *opstr; const char *subopstr; @@ -314,7 +314,5 @@ virHookCall(int driver, virGetLastErrorMessage()); } =20 - virCommandFree(cmd); - return ret; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 15326391748761006.2742497139642; Thu, 26 Jul 2018 14:06:14 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 18BFA3086272; Thu, 26 Jul 2018 21:06:13 +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 6410410E4D0C; Thu, 26 Jul 2018 21:06:12 +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 0A1832478B; Thu, 26 Jul 2018 21:06:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5PS1024874 for ; Thu, 26 Jul 2018 17:05:25 -0400 Received: by smtp.corp.redhat.com (Postfix) id 950C52010CC9; Thu, 26 Jul 2018 21:05:25 +0000 (UTC) Received: from mx1.redhat.com (ext-mx09.extmail.prod.ext.phx2.redhat.com [10.5.110.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8D73B2010CC4 for ; Thu, 26 Jul 2018 21:05:19 +0000 (UTC) Received: from mail-pl0-f50.google.com (mail-pl0-f50.google.com [209.85.160.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CCD3532B68D for ; Thu, 26 Jul 2018 21:05:15 +0000 (UTC) Received: by mail-pl0-f50.google.com with SMTP id j8-v6so1337776pll.12 for ; Thu, 26 Jul 2018 14:05:15 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.13 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=XxY5c2iCsyPilXegyQu4kMBpCOxGsrYi9syeBCGb7ZU=; b=edqiSdNvlIvjRKs4ftu1BKQNAtHH8c3u1eICQPCDBQSy/scZA6Tp25w+EM9qGZAEzP Jyq33DWVI+VKksALLEaoCf/tCfTEZexMvAHQovUs3P3jkltdQHDRHg5cNm+e+hht2UFG 9LGMLaOWOtNjLbPdF3sW6kTbyLbM2/0sEHLS5P2p66CgXLYaTWxIFFt5FUY8XiMVl6QK EF2aj4pfSbtUy+F1bewOdRkhYcRXz/xL8OOHiFuLfRKdnRVn5OdlYiDRsHNjklOP7LY9 xf9WY6B+OtFUjbiWGGVNsyE7QjM672MLnYZCKYMvjaJ6zYwRjE2APfzEfCSEUIeGWIVl aJbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=XxY5c2iCsyPilXegyQu4kMBpCOxGsrYi9syeBCGb7ZU=; b=oRekQyBH31hctSd63tZ3k4PdYYHis2SrnvzB5u2E58lvd7frLuvW5i7rZsomTxiEpR eiQRQ9vzbzoWHSEBc0n2D2n3BO96bdqSMsrY61Alb9SfPVTBEypmwGIOgLtXIogOzodU ZGVTCqhfZEUKXdEXTKUepeSwyRz65gOAoZHB5QjXOaGLARrWzsgSUreS6jt9Q7ylsiom XP2wUpcjVISg8EjcyynZGmMpdLlDQ+90gcNa3Vhhj6yQiSGWrhALTwEi2dNoRJMvFcSs OYT2CUA89VAk0yzhrrFFBSlgXlu8ogDttmHl0H2PyaztuczRtoYIb8Sg+LMmvqTCNfUC m3sA== X-Gm-Message-State: AOUpUlE/sqCzSH8JwT/HCT54+kqVffyTOQxjSL4C0oHo/xp5nyIq3deG x52avebqMLULvxfSdcDaON4pPf3d X-Google-Smtp-Source: AAOMgpcbprvnfALhc13W1T611gtNIA9g6/s2AahDVQgTUgUR6INUwTyBctacWtvMLplazXpDInTiJA== X-Received: by 2002:a17:902:8210:: with SMTP id x16-v6mr3332605pln.307.1532639115023; Thu, 26 Jul 2018 14:05:15 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:20 +0530 Message-Id: <1532447562-24010-20-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:05:19 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:05:19 +0000 (UTC) for IP:'209.85.160.50' DOMAIN:'mail-pl0-f50.google.com' HELO:'mail-pl0-f50.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.39 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.50 mail-pl0-f50.google.com 209.85.160.50 mail-pl0-f50.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.38 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 19/41] util: pci: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:06:13 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When variables of types virPCIDevicePtr, virPCIDeviceAddressPtr and virPCIEDeviceInfoPtr are declared using VIR_AUTOPTR, the functions virPCIDeviceFree, virPCIDeviceAddressFree and virPCIEDeviceInfoFree, respectively, will be run automatically on them when they go out of scope. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virpci.c | 7 ++++++- src/util/virpci.h | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/util/virpci.c b/src/util/virpci.c index 8d02366..46f9905 100644 --- a/src/util/virpci.c +++ b/src/util/virpci.c @@ -39,7 +39,6 @@ =20 #include "dirname.h" #include "virlog.h" -#include "viralloc.h" #include "vircommand.h" #include "virerror.h" #include "virfile.h" @@ -3288,3 +3287,9 @@ virPCIEDeviceInfoFree(virPCIEDeviceInfoPtr dev) VIR_FREE(dev->link_sta); VIR_FREE(dev); } + +void +virPCIDeviceAddressFree(virPCIDeviceAddressPtr address) +{ + VIR_FREE(address); +} diff --git a/src/util/virpci.h b/src/util/virpci.h index 794b7e5..2ac8769 100644 --- a/src/util/virpci.h +++ b/src/util/virpci.h @@ -28,6 +28,7 @@ # include "virmdev.h" # include "virobject.h" # include "virutil.h" +# include "viralloc.h" =20 typedef struct _virPCIDevice virPCIDevice; typedef virPCIDevice *virPCIDevicePtr; @@ -253,4 +254,10 @@ void virPCIEDeviceInfoFree(virPCIEDeviceInfoPtr dev); ssize_t virPCIGetMdevTypes(const char *sysfspath, virMediatedDeviceType ***types); =20 +void virPCIDeviceAddressFree(virPCIDeviceAddressPtr address); + +VIR_DEFINE_AUTOPTR_FUNC(virPCIDevice, virPCIDeviceFree) +VIR_DEFINE_AUTOPTR_FUNC(virPCIDeviceAddress, virPCIDeviceAddressFree) +VIR_DEFINE_AUTOPTR_FUNC(virPCIEDeviceInfo, virPCIEDeviceInfoFree) + #endif /* __VIR_PCI_H__ */ --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639150287760.8288341356193; Thu, 26 Jul 2018 14:05:50 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C108B81115; Thu, 26 Jul 2018 21:05:27 +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 772C93001A69; Thu, 26 Jul 2018 21:05: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 1F00318037FA; Thu, 26 Jul 2018 21:05:27 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5PYc024882 for ; Thu, 26 Jul 2018 17:05:25 -0400 Received: by smtp.corp.redhat.com (Postfix) id A208C10E4D01; Thu, 26 Jul 2018 21:05:25 +0000 (UTC) Received: from mx1.redhat.com (ext-mx09.extmail.prod.ext.phx2.redhat.com [10.5.110.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 85B4110E4D08 for ; Thu, 26 Jul 2018 21:05:19 +0000 (UTC) Received: from mail-pl0-f66.google.com (mail-pl0-f66.google.com [209.85.160.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EEB9632B691 for ; Thu, 26 Jul 2018 21:05:17 +0000 (UTC) Received: by mail-pl0-f66.google.com with SMTP id 31-v6so1345336plc.4 for ; Thu, 26 Jul 2018 14:05:17 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.15 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=pqb0VQA2BSiaDtcxPf8KeJQvuZh35mUZWvMFCVmKOm0=; b=TuZT0SmEBublqulIlVsgy84JQ9WCxBJHOlpX4J6DuXpmaXTFRn/lS7zMyOQI8NsTOh LbRtQTNzYZSrFJphAutSFXwxTSZwwpYZplrGg2Y686Ea6wwn4Mml7g1WAOQnuOuxbBEJ 9GvOAkMs3zAr1bZP7GOLR4VFoFc4PUlnZDRAUqW6kIDD+YDb/G39sHhXdttPcdWKmjZR 7h2Ue6d3LGkIA43ir5a7Yj/BuvbxywZn+ibbkExa+GfRmChP3hO0gJ/LfAQm17Fj8aXt GveNbuVuy15N4CXPPR/8bWPzwOqsbosJn3azPaY6mp+JIDUMjTWgp7ajZT3KTvQf3Q17 eYoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=pqb0VQA2BSiaDtcxPf8KeJQvuZh35mUZWvMFCVmKOm0=; b=B91IecWfQPOs2Kr0l98TPdDFL7BBM0MoA9Q/04k+G8AJC3lhRmX+D4TbAcKxxhE7R4 LsESO2HXXgNzDCBx1t7YphdlVRWyYkTkYSKwMfJgLRazRJBCzYDAPtEtF89njFXPbF02 arWPjG+O0APEsYJE8064TD4fF0IOcaitrvbGgWuqRS4VyTivCXJmIO/GGUVplZh+b5rd HAJ5a+05cy568MOWdaf8ZMrdyK7YNoHrIPIav9yFs3eIdit4QP11MERSTX0OIXnuuLcL mrsXzm9P5XWP4CxSUz7A4PDfWGEuHYfT9ZhKMTppx+GCgwIIGub181xAdhFdYD1flc5j lAOA== X-Gm-Message-State: AOUpUlF6/s8xtnuqbeqY7akd4Y2NI6X/48Jrz3010PsISLBDrhOqlux6 EHlKTddQxwWbXRTwjE/LAAvxNC/T X-Google-Smtp-Source: AAOMgpeVZ9tImPbHUCyQxc3X+mFMl4b1tRdyUWwCa8rCsmBkRb7HgszrYyrvO3pD2VswZHhEZ/K7Ag== X-Received: by 2002:a17:902:bd44:: with SMTP id b4-v6mr3430784plx.144.1532639117090; Thu, 26 Jul 2018 14:05:17 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:21 +0530 Message-Id: <1532447562-24010-21-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:05:18 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:05:18 +0000 (UTC) for IP:'209.85.160.66' DOMAIN:'mail-pl0-f66.google.com' HELO:'mail-pl0-f66.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.66 mail-pl0-f66.google.com 209.85.160.66 mail-pl0-f66.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.38 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 20/41] util: pci: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 26 Jul 2018 21:05:49 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar --- src/util/virpci.c | 269 ++++++++++++++++++--------------------------------= ---- 1 file changed, 87 insertions(+), 182 deletions(-) diff --git a/src/util/virpci.c b/src/util/virpci.c index 46f9905..1b3e52f 100644 --- a/src/util/virpci.c +++ b/src/util/virpci.c @@ -253,7 +253,7 @@ int virPCIDeviceGetDriverPathAndName(virPCIDevicePtr dev, char **path, char **= name) { int ret =3D -1; - char *drvlink =3D NULL; + VIR_AUTOFREE(char *) drvlink =3D NULL; =20 *path =3D *name =3D NULL; /* drvlink =3D "/sys/bus/pci/dddd:bb:ss.ff/driver" */ @@ -285,7 +285,6 @@ virPCIDeviceGetDriverPathAndName(virPCIDevicePtr dev, c= har **path, char **name) =20 ret =3D 0; cleanup: - VIR_FREE(drvlink); if (ret < 0) { VIR_FREE(*path); VIR_FREE(*name); @@ -375,32 +374,27 @@ virPCIDeviceRead32(virPCIDevicePtr dev, int cfgfd, un= signed int pos) static int virPCIDeviceReadClass(virPCIDevicePtr dev, uint16_t *device_class) { - char *path =3D NULL; - char *id_str =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) path =3D NULL; + VIR_AUTOFREE(char *) id_str =3D NULL; unsigned int value; =20 if (!(path =3D virPCIFile(dev->name, "class"))) - return ret; + return -1; =20 /* class string is '0xNNNNNN\n' ... i.e. 9 bytes */ if (virFileReadAll(path, 9, &id_str) < 0) - goto cleanup; + return -1; =20 id_str[8] =3D '\0'; if (virStrToLong_ui(id_str, NULL, 16, &value) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Unusual value in %s/devices/%s/class: %s"), PCI_SYSFS, dev->name, id_str); - goto cleanup; + return -1; } =20 *device_class =3D (value >> 8) & 0xFFFF; - ret =3D 0; - cleanup: - VIR_FREE(id_str); - VIR_FREE(path); - return ret; + return 0; } =20 static int @@ -574,7 +568,7 @@ virPCIDeviceDetectFunctionLevelReset(virPCIDevicePtr de= v, int cfgfd) { uint32_t caps; uint8_t pos; - char *path; + VIR_AUTOFREE(char *) path =3D NULL; int found; =20 /* The PCIe Function Level Reset capability allows @@ -614,7 +608,6 @@ virPCIDeviceDetectFunctionLevelReset(virPCIDevicePtr de= v, int cfgfd) return -1; =20 found =3D virFileExists(path); - VIR_FREE(path); if (found) { VIR_DEBUG("%s %s: buggy device didn't advertise FLR, but is a VF; = forcing flr on", dev->id, dev->name); @@ -926,8 +919,8 @@ virPCIDeviceReset(virPCIDevicePtr dev, virPCIDeviceList *activeDevs, virPCIDeviceList *inactiveDevs) { - char *drvPath =3D NULL; - char *drvName =3D NULL; + VIR_AUTOFREE(char *) drvPath =3D NULL; + VIR_AUTOFREE(char *) drvName =3D NULL; int ret =3D -1; int fd =3D -1; int hdrType =3D -1; @@ -1000,8 +993,6 @@ virPCIDeviceReset(virPCIDevicePtr dev, } =20 cleanup: - VIR_FREE(drvPath); - VIR_FREE(drvName); virPCIDeviceConfigClose(dev, fd); return ret; } @@ -1011,7 +1002,7 @@ static int virPCIProbeStubDriver(virPCIStubDriver driver) { const char *drvname =3D NULL; - char *drvpath =3D NULL; + VIR_AUTOFREE(char *) drvpath =3D NULL; bool probed =3D false; =20 if (driver =3D=3D VIR_PCI_STUB_DRIVER_NONE || @@ -1023,20 +1014,15 @@ virPCIProbeStubDriver(virPCIStubDriver driver) } =20 recheck: - if ((drvpath =3D virPCIDriverDir(drvname)) && virFileExists(drvpath)) { + if ((drvpath =3D virPCIDriverDir(drvname)) && virFileExists(drvpath)) /* driver already loaded, return */ - VIR_FREE(drvpath); return 0; - } - - VIR_FREE(drvpath); =20 if (!probed) { - char *errbuf =3D NULL; + VIR_AUTOFREE(char *) errbuf =3D NULL; probed =3D true; if ((errbuf =3D virKModLoad(drvname, true))) { VIR_WARN("failed to load driver %s: %s", drvname, errbuf); - VIR_FREE(errbuf); goto cleanup; } =20 @@ -1064,38 +1050,30 @@ virPCIProbeStubDriver(virPCIStubDriver driver) int virPCIDeviceUnbind(virPCIDevicePtr dev) { - char *path =3D NULL; - char *drvpath =3D NULL; - char *driver =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) path =3D NULL; + VIR_AUTOFREE(char *) drvpath =3D NULL; + VIR_AUTOFREE(char *) driver =3D NULL; =20 if (virPCIDeviceGetDriverPathAndName(dev, &drvpath, &driver) < 0) - goto cleanup; + return -1; =20 - if (!driver) { + if (!driver) /* The device is not bound to any driver */ - ret =3D 0; - goto cleanup; - } + return 0; =20 if (!(path =3D virPCIFile(dev->name, "driver/unbind"))) - goto cleanup; + return -1; =20 if (virFileExists(path)) { if (virFileWriteStr(path, dev->name, 0) < 0) { virReportSystemError(errno, _("Failed to unbind PCI device '%s' from = %s"), dev->name, driver); - goto cleanup; + return -1; } } =20 - ret =3D 0; - cleanup: - VIR_FREE(path); - VIR_FREE(drvpath); - VIR_FREE(driver); - return ret; + return 0; } =20 =20 @@ -1138,8 +1116,7 @@ static int virPCIDeviceBindWithDriverOverride(virPCIDevicePtr dev, const char *driverName) { - int ret =3D -1; - char *path; + VIR_AUTOFREE(char *) path =3D NULL; =20 if (!(path =3D virPCIFile(dev->name, "driver_override"))) return -1; @@ -1149,26 +1126,22 @@ virPCIDeviceBindWithDriverOverride(virPCIDevicePtr = dev, _("Failed to add driver '%s' to driver_overri= de " " interface of PCI device '%s'"), driverName, dev->name); - goto cleanup; + return -1; } =20 if (virPCIDeviceRebind(dev) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - - cleanup: - VIR_FREE(path); - return ret; + return 0; } =20 static int virPCIDeviceUnbindFromStubWithNewid(virPCIDevicePtr dev) { int result =3D -1; - char *drvdir =3D NULL; - char *path =3D NULL; - char *driver =3D NULL; + VIR_AUTOFREE(char *) drvdir =3D NULL; + VIR_AUTOFREE(char *) path =3D NULL; + VIR_AUTOFREE(char *) driver =3D NULL; =20 /* If the device is currently bound to one of the "well known" * stub drivers, then unbind it, otherwise ignore it. @@ -1257,10 +1230,6 @@ virPCIDeviceUnbindFromStubWithNewid(virPCIDevicePtr = dev) dev->remove_slot =3D false; dev->reprobe =3D false; =20 - VIR_FREE(drvdir); - VIR_FREE(path); - VIR_FREE(driver); - return result; } =20 @@ -1278,8 +1247,7 @@ virPCIDeviceUnbindFromStubWithOverride(virPCIDevicePt= r dev) static int virPCIDeviceUnbindFromStub(virPCIDevicePtr dev) { - int ret; - char *path; + VIR_AUTOFREE(char *) path =3D NULL; =20 /* * Prefer using the device's driver_override interface, falling back @@ -1289,12 +1257,9 @@ virPCIDeviceUnbindFromStub(virPCIDevicePtr dev) return -1; =20 if (virFileExists(path)) - ret =3D virPCIDeviceUnbindFromStubWithOverride(dev); - else - ret =3D virPCIDeviceUnbindFromStubWithNewid(dev); + return virPCIDeviceUnbindFromStubWithOverride(dev); =20 - VIR_FREE(path); - return ret; + return virPCIDeviceUnbindFromStubWithNewid(dev); } =20 static int @@ -1302,9 +1267,9 @@ virPCIDeviceBindToStubWithNewid(virPCIDevicePtr dev) { int result =3D -1; bool reprobe =3D false; - char *stubDriverPath =3D NULL; - char *driverLink =3D NULL; - char *path =3D NULL; /* reused for different purposes */ + VIR_AUTOFREE(char *) stubDriverPath =3D NULL; + VIR_AUTOFREE(char *) driverLink =3D NULL; + VIR_AUTOFREE(char *) path =3D NULL; /* reused for different purposes */ const char *stubDriverName =3D NULL; virErrorPtr err =3D NULL; =20 @@ -1436,10 +1401,6 @@ virPCIDeviceBindToStubWithNewid(virPCIDevicePtr dev) } =20 cleanup: - VIR_FREE(stubDriverPath); - VIR_FREE(driverLink); - VIR_FREE(path); - if (result < 0) virPCIDeviceUnbindFromStub(dev); =20 @@ -1453,10 +1414,9 @@ virPCIDeviceBindToStubWithNewid(virPCIDevicePtr dev) static int virPCIDeviceBindToStubWithOverride(virPCIDevicePtr dev) { - int ret =3D -1; const char *stubDriverName; - char *stubDriverPath =3D NULL; - char *driverLink =3D NULL; + VIR_AUTOFREE(char *) stubDriverPath =3D NULL; + VIR_AUTOFREE(char *) driverLink =3D NULL; =20 /* Check the device is configured to use one of the known stub drivers= */ if (dev->stubDriver =3D=3D VIR_PCI_STUB_DRIVER_NONE) { @@ -1473,35 +1433,28 @@ virPCIDeviceBindToStubWithOverride(virPCIDevicePtr = dev) =20 if (!(stubDriverPath =3D virPCIDriverDir(stubDriverName)) || !(driverLink =3D virPCIFile(dev->name, "driver"))) - goto cleanup; + return -1; =20 if (virFileExists(driverLink)) { if (virFileLinkPointsTo(driverLink, stubDriverPath)) { /* The device is already bound to the correct driver */ VIR_DEBUG("Device %s is already bound to %s", dev->name, stubDriverName); - ret =3D 0; - goto cleanup; + return 0; } } =20 if (virPCIDeviceBindWithDriverOverride(dev, stubDriverName) < 0) - goto cleanup; + return -1; =20 dev->unbind_from_stub =3D true; - ret =3D 0; - - cleanup: - VIR_FREE(stubDriverPath); - VIR_FREE(driverLink); - return ret; + return 0; } =20 static int virPCIDeviceBindToStub(virPCIDevicePtr dev) { - int ret; - char *path; + VIR_AUTOFREE(char *) path =3D NULL; =20 /* * Prefer using the device's driver_override interface, falling back @@ -1511,12 +1464,9 @@ virPCIDeviceBindToStub(virPCIDevicePtr dev) return -1; =20 if (virFileExists(path)) - ret =3D virPCIDeviceBindToStubWithOverride(dev); - else - ret =3D virPCIDeviceBindToStubWithNewid(dev); + return virPCIDeviceBindToStubWithOverride(dev); =20 - VIR_FREE(path); - return ret; + return virPCIDeviceBindToStubWithNewid(dev); } =20 /* virPCIDeviceDetach: @@ -1700,19 +1650,15 @@ virPCIDeviceWaitForCleanup(virPCIDevicePtr dev, con= st char *matcher) static char * virPCIDeviceReadID(virPCIDevicePtr dev, const char *id_name) { - char *path =3D NULL; + VIR_AUTOFREE(char *) path =3D NULL; char *id_str; =20 if (!(path =3D virPCIFile(dev->name, id_name))) return NULL; =20 /* ID string is '0xNNNN\n' ... i.e. 7 bytes */ - if (virFileReadAll(path, 7, &id_str) < 0) { - VIR_FREE(path); + if (virFileReadAll(path, 7, &id_str) < 0) return NULL; - } - - VIR_FREE(path); =20 /* Check for 0x suffix */ if (id_str[0] !=3D '0' || id_str[1] !=3D 'x') { @@ -1755,8 +1701,8 @@ virPCIDeviceNew(unsigned int domain, unsigned int function) { virPCIDevicePtr dev; - char *vendor =3D NULL; - char *product =3D NULL; + VIR_AUTOFREE(char *) vendor =3D NULL; + VIR_AUTOFREE(char *) product =3D NULL; =20 if (VIR_ALLOC(dev) < 0) return NULL; @@ -1806,14 +1752,12 @@ virPCIDeviceNew(unsigned int domain, VIR_DEBUG("%s %s: initialized", dev->id, dev->name); =20 cleanup: - VIR_FREE(product); - VIR_FREE(vendor); return dev; =20 error: virPCIDeviceFree(dev); dev =3D NULL; - goto cleanup; + goto cleanup;; } =20 =20 @@ -2129,8 +2073,7 @@ int virPCIDeviceFileIterate(virPCIDevicePtr dev, virPCIDeviceFileActor actor, void *opaque) { - char *pcidir =3D NULL; - char *file =3D NULL; + VIR_AUTOFREE(char *) pcidir =3D NULL; DIR *dir =3D NULL; int ret =3D -1; struct dirent *ent; @@ -2145,6 +2088,7 @@ int virPCIDeviceFileIterate(virPCIDevicePtr dev, goto cleanup; =20 while ((direrr =3D virDirRead(dir, &ent, pcidir)) > 0) { + VIR_AUTOFREE(char *) file =3D NULL; /* Device assignment requires: * $PCIDIR/config, $PCIDIR/resource, $PCIDIR/resourceNNN, * $PCIDIR/rom, $PCIDIR/reset, $PCIDIR/vendor, $PCIDIR/device @@ -2159,8 +2103,6 @@ int virPCIDeviceFileIterate(virPCIDevicePtr dev, goto cleanup; if ((actor)(dev, file, opaque) < 0) goto cleanup; - - VIR_FREE(file); } } if (direrr < 0) @@ -2170,8 +2112,6 @@ int virPCIDeviceFileIterate(virPCIDevicePtr dev, =20 cleanup: VIR_DIR_CLOSE(dir); - VIR_FREE(file); - VIR_FREE(pcidir); return ret; } =20 @@ -2186,7 +2126,7 @@ virPCIDeviceAddressIOMMUGroupIterate(virPCIDeviceAddr= essPtr orig, virPCIDeviceAddressActor actor, void *opaque) { - char *groupPath =3D NULL; + VIR_AUTOFREE(char *) groupPath =3D NULL; DIR *groupDir =3D NULL; int ret =3D -1; struct dirent *ent; @@ -2222,7 +2162,6 @@ virPCIDeviceAddressIOMMUGroupIterate(virPCIDeviceAddr= essPtr orig, ret =3D 0; =20 cleanup: - VIR_FREE(groupPath); VIR_DIR_CLOSE(groupDir); return ret; } @@ -2341,28 +2280,25 @@ virPCIDeviceAddressGetIOMMUGroupAddresses(virPCIDev= iceAddressPtr devAddr, int virPCIDeviceAddressGetIOMMUGroupNum(virPCIDeviceAddressPtr addr) { - char *devName =3D NULL; - char *devPath =3D NULL; - char *groupPath =3D NULL; + VIR_AUTOFREE(char *) devName =3D NULL; + VIR_AUTOFREE(char *) devPath =3D NULL; + VIR_AUTOFREE(char *) groupPath =3D NULL; const char *groupNumStr; unsigned int groupNum; - int ret =3D -1; =20 if (virAsprintf(&devName, "%.4x:%.2x:%.2x.%.1x", addr->domain, addr->bus, addr->slot, addr->function) < 0) - goto cleanup; + return -1; =20 if (!(devPath =3D virPCIFile(devName, "iommu_group"))) - goto cleanup; - if (virFileIsLink(devPath) !=3D 1) { - ret =3D -2; - goto cleanup; - } + return -1; + if (virFileIsLink(devPath) !=3D 1) + return -2; if (virFileResolveLink(devPath, &groupPath) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to resolve device %s iommu_group symlink = %s"), devName, devPath); - goto cleanup; + return -1; } =20 groupNumStr =3D last_component(groupPath); @@ -2371,16 +2307,10 @@ virPCIDeviceAddressGetIOMMUGroupNum(virPCIDeviceAdd= ressPtr addr) _("device %s iommu_group symlink %s has " "invalid group number %s"), devName, groupPath, groupNumStr); - ret =3D -1; - goto cleanup; + return -1; } =20 - ret =3D groupNum; - cleanup: - VIR_FREE(devName); - VIR_FREE(devPath); - VIR_FREE(groupPath); - return ret; + return groupNum; } =20 =20 @@ -2390,30 +2320,28 @@ virPCIDeviceAddressGetIOMMUGroupNum(virPCIDeviceAdd= ressPtr addr) char * virPCIDeviceGetIOMMUGroupDev(virPCIDevicePtr dev) { - char *devPath =3D NULL; - char *groupPath =3D NULL; + VIR_AUTOFREE(char *) devPath =3D NULL; + VIR_AUTOFREE(char *) groupPath =3D NULL; char *groupDev =3D NULL; =20 if (!(devPath =3D virPCIFile(dev->name, "iommu_group"))) - goto cleanup; + return NULL; if (virFileIsLink(devPath) !=3D 1) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid device %s iommu_group file %s is not a s= ymlink"), dev->name, devPath); - goto cleanup; + return NULL; } if (virFileResolveLink(devPath, &groupPath) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to resolve device %s iommu_group symlink = %s"), dev->name, devPath); - goto cleanup; + return NULL; } if (virAsprintf(&groupDev, "/dev/vfio/%s", last_component(groupPath)) < 0) - goto cleanup; - cleanup: - VIR_FREE(devPath); - VIR_FREE(groupPath); + return NULL; + return groupDev; } =20 @@ -2614,7 +2542,7 @@ virPCIGetDeviceAddressFromSysfsLink(const char *devic= e_link) { virPCIDeviceAddressPtr bdf =3D NULL; char *config_address =3D NULL; - char *device_path =3D NULL; + VIR_AUTOFREE(char *) device_path =3D NULL; =20 if (!virFileExists(device_link)) { VIR_DEBUG("'%s' does not exist", device_link); @@ -2631,19 +2559,16 @@ virPCIGetDeviceAddressFromSysfsLink(const char *dev= ice_link) =20 config_address =3D last_component(device_path); if (VIR_ALLOC(bdf) < 0) - goto out; + return NULL; =20 if (virPCIDeviceAddressParse(config_address, bdf) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to parse PCI config address '%s'"), config_address); VIR_FREE(bdf); - goto out; + return NULL; } =20 - out: - VIR_FREE(device_path); - return bdf; } =20 @@ -2665,7 +2590,7 @@ int virPCIGetPhysicalFunction(const char *vf_sysfs_path, virPCIDeviceAddressPtr *pf) { - char *device_link =3D NULL; + VIR_AUTOFREE(char *) device_link =3D NULL; =20 *pf =3D NULL; =20 @@ -2678,7 +2603,6 @@ virPCIGetPhysicalFunction(const char *vf_sysfs_path, VIR_DEBUG("PF for VF device '%s': %.4x:%.2x:%.2x.%.1x", vf_sysfs_p= ath, (*pf)->domain, (*pf)->bus, (*pf)->slot, (*pf)->function); } - VIR_FREE(device_link); =20 return 0; } @@ -2695,9 +2619,9 @@ virPCIGetVirtualFunctions(const char *sysfs_path, { int ret =3D -1; size_t i; - char *device_link =3D NULL; + VIR_AUTOFREE(char *) totalvfs_file =3D NULL; + VIR_AUTOFREE(char *) totalvfs_str =3D NULL; virPCIDeviceAddressPtr config_addr =3D NULL; - char *totalvfs_file =3D NULL, *totalvfs_str =3D NULL; =20 *virtual_functions =3D NULL; *num_virtual_functions =3D 0; @@ -2719,6 +2643,7 @@ virPCIGetVirtualFunctions(const char *sysfs_path, } =20 do { + VIR_AUTOFREE(char *) device_link =3D NULL; /* look for virtfn%d links until one isn't found */ if (virAsprintf(&device_link, "%s/virtfn%zu", sysfs_path, *num_vir= tual_functions) < 0) goto error; @@ -2736,18 +2661,13 @@ virPCIGetVirtualFunctions(const char *sysfs_path, if (VIR_APPEND_ELEMENT(*virtual_functions, *num_virtual_functions, config_addr) < 0) goto error; - VIR_FREE(device_link); - } while (1); =20 VIR_DEBUG("Found %zu virtual functions for %s", *num_virtual_functions, sysfs_path); ret =3D 0; cleanup: - VIR_FREE(device_link); VIR_FREE(config_addr); - VIR_FREE(totalvfs_file); - VIR_FREE(totalvfs_str); return ret; =20 error: @@ -2765,18 +2685,13 @@ virPCIGetVirtualFunctions(const char *sysfs_path, int virPCIIsVirtualFunction(const char *vf_sysfs_device_link) { - char *vf_sysfs_physfn_link =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) vf_sysfs_physfn_link =3D NULL; =20 if (virAsprintf(&vf_sysfs_physfn_link, "%s/physfn", vf_sysfs_device_link) < 0) - return ret; + return -1; =20 - ret =3D virFileExists(vf_sysfs_physfn_link); - - VIR_FREE(vf_sysfs_physfn_link); - - return ret; + return virFileExists(vf_sysfs_physfn_link); } =20 /* @@ -2868,12 +2783,12 @@ virPCIGetNetName(const char *device_link_sysfs_path, char *physPortID, char **netname) { - char *pcidev_sysfs_net_path =3D NULL; + VIR_AUTOFREE(char *) pcidev_sysfs_net_path =3D NULL; + VIR_AUTOFREE(char *) firstEntryName =3D NULL; + VIR_AUTOFREE(char *) thisPhysPortID =3D NULL; int ret =3D -1; DIR *dir =3D NULL; struct dirent *entry =3D NULL; - char *firstEntryName =3D NULL; - char *thisPhysPortID =3D NULL; size_t i =3D 0; =20 if (virBuildPath(&pcidev_sysfs_net_path, device_link_sysfs_path, @@ -2946,9 +2861,6 @@ virPCIGetNetName(const char *device_link_sysfs_path, } cleanup: VIR_DIR_CLOSE(dir); - VIR_FREE(pcidev_sysfs_net_path); - VIR_FREE(thisPhysPortID); - VIR_FREE(firstEntryName); return ret; } =20 @@ -2959,9 +2871,9 @@ virPCIGetVirtualFunctionInfo(const char *vf_sysfs_dev= ice_path, int *vf_index) { virPCIDeviceAddressPtr pf_config_address =3D NULL; - char *pf_sysfs_device_path =3D NULL; - char *vfname =3D NULL; - char *vfPhysPortID =3D NULL; + VIR_AUTOFREE(char *) pf_sysfs_device_path =3D NULL; + VIR_AUTOFREE(char *) vfname =3D NULL; + VIR_AUTOFREE(char *) vfPhysPortID =3D NULL; int ret =3D -1; =20 if (virPCIGetPhysicalFunction(vf_sysfs_device_path, &pf_config_address= ) < 0) @@ -3016,9 +2928,6 @@ virPCIGetVirtualFunctionInfo(const char *vf_sysfs_dev= ice_path, ret =3D 0; cleanup: VIR_FREE(pf_config_address); - VIR_FREE(pf_sysfs_device_path); - VIR_FREE(vfname); - VIR_FREE(vfPhysPortID); =20 return ret; } @@ -3032,8 +2941,7 @@ virPCIGetMdevTypes(const char *sysfspath, int dirret =3D -1; DIR *dir =3D NULL; struct dirent *entry; - char *types_path =3D NULL; - char *tmppath =3D NULL; + VIR_AUTOFREE(char *) types_path =3D NULL; virMediatedDeviceTypePtr mdev_type =3D NULL; virMediatedDeviceTypePtr *mdev_types =3D NULL; size_t ntypes =3D 0; @@ -3051,6 +2959,7 @@ virPCIGetMdevTypes(const char *sysfspath, } =20 while ((dirret =3D virDirRead(dir, &entry, types_path)) > 0) { + VIR_AUTOFREE(char *) tmppath =3D NULL; /* append the type id to the path and read the attributes from the= re */ if (virAsprintf(&tmppath, "%s/%s", types_path, entry->d_name) < 0) goto cleanup; @@ -3060,8 +2969,6 @@ virPCIGetMdevTypes(const char *sysfspath, =20 if (VIR_APPEND_ELEMENT(mdev_types, ntypes, mdev_type) < 0) goto cleanup; - - VIR_FREE(tmppath); } =20 if (dirret < 0) @@ -3075,8 +2982,6 @@ virPCIGetMdevTypes(const char *sysfspath, for (i =3D 0; i < ntypes; i++) virMediatedDeviceTypeFree(mdev_types[i]); VIR_FREE(mdev_types); - VIR_FREE(types_path); - VIR_FREE(tmppath); VIR_DIR_CLOSE(dir); return ret; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639140887876.5034887553155; Thu, 26 Jul 2018 14:05:40 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 2FC1130024D6; Thu, 26 Jul 2018 21:05:39 +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 D498D5D755; Thu, 26 Jul 2018 21:05: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 7ECCE1800CAC; Thu, 26 Jul 2018 21:05:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5TJq024910 for ; Thu, 26 Jul 2018 17:05:29 -0400 Received: by smtp.corp.redhat.com (Postfix) id D36F96017F; Thu, 26 Jul 2018 21:05:29 +0000 (UTC) Received: from mx1.redhat.com (ext-mx06.extmail.prod.ext.phx2.redhat.com [10.5.110.30]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AB45660175 for ; Thu, 26 Jul 2018 21:05:20 +0000 (UTC) Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C6DFB36809 for ; Thu, 26 Jul 2018 21:05:19 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id z8-v6so1882609pgu.8 for ; Thu, 26 Jul 2018 14:05:19 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.17 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=UtLtmzrymPaZ9jWQrs44Tw6dgVJ/iCFvGVKrAQHvrUA=; b=cy1PTt3+EJUBD5qrvazjo8QlITHxeO8FPnlUnq8yYNA5Lh6uMrssduUtksr4YvWlFq B4dMb95mZyHxj2ouCigoZ459BuNojxjdXZqUwu+UbCNp2X8YH0rEeCJvyOgAS+rP1z7t PpuqB4JaczFG7wTzdY+D5wJsFxgoC6XDDg8v2Ygg30nix4izO4ZWbPivtqNP5joxDh1i quVfdaK8i7GWMjWh9+UQsgoasVXDHkN4oqiZ4yaUHEj30sqHBu4A5CGQ5Ekui96Jg64U nUWx1sebfGqzOannI3onjHZHHS5jUkV/aE5JJWbIfRVjD1Ymwbb3rK0paMR6atP+xJk1 CQoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=UtLtmzrymPaZ9jWQrs44Tw6dgVJ/iCFvGVKrAQHvrUA=; b=QdgcHzRvnwiTEroTEDtbcJBNLmtYqNZXQwM++cZ2FM5kshZXlJ5XM7LfEDtJgo/wAK 6/SavxEfpe9SDHQmfvQo+OwGshhMlciK27gUA1JBHJs75uouF3DeygDz7pKiEXuZUdia WQ7t0tWVx4Oy4C3skmmI5GqIUK8U9Rn3tBOCC6D+pVvVCrgOFgQTb2K2u+Y4aT13UyIc uo+cCmT+krn0PC15zIDXDyDnUmqVlf74K+s9fszZSZuCw7W9qD4B87x0Rwxa13gmBorg 3YxqVvLuVBSbBVry235jsxNIkmeFMfNUCAcul8LFUs1H0uLFkklIedpJPCw7itm0qTW8 pP1A== X-Gm-Message-State: AOUpUlGSgtCtTTDdGJWAJvS7TQ+9aPaYdScxJgh/dSoz2wn966AzbT/K fLQo6UNjvyj/bzXZDfK3JoyNR0ud X-Google-Smtp-Source: AAOMgpe95AJmYISNasGBtrPZc5OPzBClw9+rES6AU2CYkPEQP/HQI2DagVDu+8x1CxsF289L/kEZ2Q== X-Received: by 2002:a63:ef10:: with SMTP id u16-v6mr3401515pgh.269.1532639118991; Thu, 26 Jul 2018 14:05:18 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:22 +0530 Message-Id: <1532447562-24010-22-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:19 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:19 +0000 (UTC) for IP:'209.85.215.194' DOMAIN:'mail-pg1-f194.google.com' HELO:'mail-pg1-f194.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.194 mail-pg1-f194.google.com 209.85.215.194 mail-pg1-f194.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.30 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 21/41] util: pci: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Thu, 26 Jul 2018 21:05:39 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar --- src/util/virpci.c | 78 +++++++++++++++++++++------------------------------= ---- 1 file changed, 29 insertions(+), 49 deletions(-) diff --git a/src/util/virpci.c b/src/util/virpci.c index 1b3e52f..634df8d 100644 --- a/src/util/virpci.c +++ b/src/util/virpci.c @@ -490,8 +490,6 @@ virPCIDeviceIterDevices(virPCIDeviceIterPredicate predi= cate, ret =3D 1; break; } - - virPCIDeviceFree(check); } VIR_DIR_CLOSE(dir); return ret; @@ -781,7 +779,8 @@ virPCIDeviceTrySecondaryBusReset(virPCIDevicePtr dev, int cfgfd, virPCIDeviceList *inactiveDevs) { - virPCIDevicePtr parent, conflict; + VIR_AUTOPTR(virPCIDevice) parent =3D NULL; + VIR_AUTOPTR(virPCIDevice) conflict =3D NULL; uint8_t config_space[PCI_CONF_LEN]; uint16_t ctl; int ret =3D -1; @@ -795,7 +794,6 @@ virPCIDeviceTrySecondaryBusReset(virPCIDevicePtr dev, virReportError(VIR_ERR_INTERNAL_ERROR, _("Active %s devices on bus with %s, not doing bus = reset"), conflict->name, dev->name); - virPCIDeviceFree(conflict); return -1; } =20 @@ -848,7 +846,6 @@ virPCIDeviceTrySecondaryBusReset(virPCIDevicePtr dev, =20 out: virPCIDeviceConfigClose(parent, parentfd); - virPCIDeviceFree(parent); return ret; } =20 @@ -1270,8 +1267,8 @@ virPCIDeviceBindToStubWithNewid(virPCIDevicePtr dev) VIR_AUTOFREE(char *) stubDriverPath =3D NULL; VIR_AUTOFREE(char *) driverLink =3D NULL; VIR_AUTOFREE(char *) path =3D NULL; /* reused for different purposes */ + VIR_AUTOPTR(virError) err =3D NULL; const char *stubDriverName =3D NULL; - virErrorPtr err =3D NULL; =20 /* Check the device is configured to use one of the known stub drivers= */ if (dev->stubDriver =3D=3D VIR_PCI_STUB_DRIVER_NONE) { @@ -1406,7 +1403,6 @@ virPCIDeviceBindToStubWithNewid(virPCIDevicePtr dev) =20 if (err) virSetError(err); - virFreeError(err); =20 return result; } @@ -1679,19 +1675,13 @@ virPCIGetAddrString(unsigned int domain, unsigned int function, char **pciConfigAddr) { - virPCIDevicePtr dev =3D NULL; - int ret =3D -1; + VIR_AUTOPTR(virPCIDevice) dev =3D NULL; =20 dev =3D virPCIDeviceNew(domain, bus, slot, function); - if (dev !=3D NULL) { - if (VIR_STRDUP(*pciConfigAddr, dev->name) < 0) - goto cleanup; - ret =3D 0; - } + if (!dev || VIR_STRDUP(*pciConfigAddr, dev->name) < 0) + return -1; =20 - cleanup: - virPCIDeviceFree(dev); - return ret; + return 0; } =20 virPCIDevicePtr @@ -1700,7 +1690,8 @@ virPCIDeviceNew(unsigned int domain, unsigned int slot, unsigned int function) { - virPCIDevicePtr dev; + virPCIDevicePtr ret =3D NULL; + VIR_AUTOPTR(virPCIDevice) dev =3D NULL; VIR_AUTOFREE(char *) vendor =3D NULL; VIR_AUTOFREE(char *) product =3D NULL; =20 @@ -1717,17 +1708,17 @@ virPCIDeviceNew(unsigned int domain, virReportError(VIR_ERR_INTERNAL_ERROR, _("dev->name buffer overflow: %.4x:%.2x:%.2x.%.1x"), domain, bus, slot, function); - goto error; + goto cleanup; } if (virAsprintf(&dev->path, PCI_SYSFS "devices/%s/config", dev->name) < 0) - goto error; + goto cleanup; =20 if (!virFileExists(dev->path)) { virReportSystemError(errno, _("Device %s not found: could not access %s"), dev->name, dev->path); - goto error; + goto cleanup; } =20 vendor =3D virPCIDeviceReadID(dev, "vendor"); @@ -1737,7 +1728,7 @@ virPCIDeviceNew(unsigned int domain, virReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to read product/vendor ID for %s"), dev->name); - goto error; + goto cleanup; } =20 /* strings contain '0x' prefix */ @@ -1746,18 +1737,15 @@ virPCIDeviceNew(unsigned int domain, virReportError(VIR_ERR_INTERNAL_ERROR, _("dev->id buffer overflow: %s %s"), &vendor[2], &product[2]); - goto error; + goto cleanup; } =20 VIR_DEBUG("%s %s: initialized", dev->id, dev->name); =20 - cleanup: - return dev; + VIR_STEAL_PTR(ret, dev); =20 - error: - virPCIDeviceFree(dev); - dev =3D NULL; - goto cleanup;; + cleanup: + return ret; } =20 =20 @@ -1960,14 +1948,14 @@ virPCIDeviceListAdd(virPCIDeviceListPtr list, int virPCIDeviceListAddCopy(virPCIDeviceListPtr list, virPCIDevicePtr dev) { - virPCIDevicePtr copy =3D virPCIDeviceCopy(dev); + VIR_AUTOPTR(virPCIDevice) copy =3D virPCIDeviceCopy(dev); =20 if (!copy) return -1; - if (virPCIDeviceListAdd(list, copy) < 0) { - virPCIDeviceFree(copy); + if (virPCIDeviceListAdd(list, copy) < 0) return -1; - } + + copy =3D NULL; return 0; } =20 @@ -2015,8 +2003,7 @@ void virPCIDeviceListDel(virPCIDeviceListPtr list, virPCIDevicePtr dev) { - virPCIDevicePtr ret =3D virPCIDeviceListSteal(list, dev); - virPCIDeviceFree(ret); + VIR_AUTOPTR(virPCIDevice) ret =3D virPCIDeviceListSteal(list, dev); } =20 int @@ -2170,22 +2157,18 @@ virPCIDeviceAddressIOMMUGroupIterate(virPCIDeviceAd= dressPtr orig, static int virPCIDeviceGetIOMMUGroupAddOne(virPCIDeviceAddressPtr newDevAddr, void *o= paque) { - int ret =3D -1; virPCIDeviceListPtr groupList =3D opaque; - virPCIDevicePtr newDev; + VIR_AUTOPTR(virPCIDevice) newDev =3D NULL; =20 if (!(newDev =3D virPCIDeviceNew(newDevAddr->domain, newDevAddr->bus, newDevAddr->slot, newDevAddr->function)= )) - goto cleanup; + return -1; =20 if (virPCIDeviceListAdd(groupList, newDev) < 0) - goto cleanup; + return -1; =20 newDev =3D NULL; /* it's now on the list */ - ret =3D 0; - cleanup: - virPCIDeviceFree(newDev); - return ret; + return 0; } =20 =20 @@ -2397,7 +2380,7 @@ virPCIDeviceDownstreamLacksACS(virPCIDevicePtr dev) static int virPCIDeviceIsBehindSwitchLackingACS(virPCIDevicePtr dev) { - virPCIDevicePtr parent; + VIR_AUTOPTR(virPCIDevice) parent =3D NULL; =20 if (virPCIDeviceGetParent(dev, &parent) < 0) return -1; @@ -2421,14 +2404,13 @@ virPCIDeviceIsBehindSwitchLackingACS(virPCIDevicePt= r dev) * parent can be found */ do { - virPCIDevicePtr tmp; + VIR_AUTOPTR(virPCIDevice) tmp =3D NULL; int acs; int ret; =20 acs =3D virPCIDeviceDownstreamLacksACS(parent); =20 if (acs) { - virPCIDeviceFree(parent); if (acs < 0) return -1; else @@ -2437,7 +2419,6 @@ virPCIDeviceIsBehindSwitchLackingACS(virPCIDevicePtr = dev) =20 tmp =3D parent; ret =3D virPCIDeviceGetParent(parent, &parent); - virPCIDeviceFree(tmp); if (ret < 0) return -1; } while (parent); @@ -2942,7 +2923,7 @@ virPCIGetMdevTypes(const char *sysfspath, DIR *dir =3D NULL; struct dirent *entry; VIR_AUTOFREE(char *) types_path =3D NULL; - virMediatedDeviceTypePtr mdev_type =3D NULL; + VIR_AUTOPTR(virMediatedDeviceType) mdev_type =3D NULL; virMediatedDeviceTypePtr *mdev_types =3D NULL; size_t ntypes =3D 0; size_t i; @@ -2978,7 +2959,6 @@ virPCIGetMdevTypes(const char *sysfspath, ret =3D ntypes; ntypes =3D 0; cleanup: - virMediatedDeviceTypeFree(mdev_type); for (i =3D 0; i < ntypes; i++) virMediatedDeviceTypeFree(mdev_types[i]); VIR_FREE(mdev_types); --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639199617740.6433407207434; Thu, 26 Jul 2018 14:06:39 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id DB0E585A04; Thu, 26 Jul 2018 21:06:36 +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 DF4676314E; Thu, 26 Jul 2018 21:06: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 EC1271800543; Thu, 26 Jul 2018 21:06:22 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5YGt024953 for ; Thu, 26 Jul 2018 17:05:34 -0400 Received: by smtp.corp.redhat.com (Postfix) id 72246608F8; Thu, 26 Jul 2018 21:05:34 +0000 (UTC) Received: from mx1.redhat.com (ext-mx18.extmail.prod.ext.phx2.redhat.com [10.5.110.47]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 19702608F7 for ; Thu, 26 Jul 2018 21:05:22 +0000 (UTC) Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 91DC630820D4 for ; Thu, 26 Jul 2018 21:05:21 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id y5-v6so1889350pgv.1 for ; Thu, 26 Jul 2018 14:05:21 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.19 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=QxWjWl4tEjL90x0V27zQ1a8E2fH5GK0rweYU/vac7C8=; b=r6mLKYVApsfwSP403Nytno1QksjxMg/KfexOwxVV/wS3PltqIq+88p8IcYATrCcmMa PN9V8unQUEFpyfJ4XbUsusK+PYuaL8OHyBWieyDlgVGIQKCWpg2lIriumy2USYESwvYV hvv9JaGd1DT5f+vSRQJ8BBZUpSlNzkc2nqFHGlQ0q0ZVpY4Fa7G8vwrTt75ih2eAIOnl 9rXp+Nmo63aK1VyFb/HBGNKIavv7htJ57LVpAI8nLpQqAz01em6xdY7pFLo51UKoTkXT TR5mUWN20uz32kjV1CerVcKcqqqV6TojTtFwGUm776WGvgiWdvKoSD+ZSzc2coxrsp94 krqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=QxWjWl4tEjL90x0V27zQ1a8E2fH5GK0rweYU/vac7C8=; b=pBGLI0wh1wihROBzo5ZVXJ6X5Qxc9+hQFc4SLn5ElEPDqWOntb7KSC4SpW18WWd41A 9WqN+pOvRGYnDURmuMSzmEwoozPlZ7LcIN+t44OsXNqzYg1gG135PReXuWAoit2RZwMq lx4182GvoNcjUbFGs5Mrj02OMFJekui8KtKGJBHgHVOSZ/ke3fHmbGISiZdPS+oFzVA/ BjL3nUBC7dMwfuchg8lGrmoTd4bWDZUcM16DK+yfP24qWnwu6FGkINqygqQ9pB8Ere32 Fr0v1NA40iOygrBySjn+Gvs6nGb5Pacpdl4GtV9pcb0EA4vNmGaiFTV+MDDsiKN10V14 +8Tw== X-Gm-Message-State: AOUpUlEtnE7j9N4r1Y6KzSut2ItBf4NnDHcV+BByBFch1vUiNBOY5eaP cUNFK9FRd+xSAS30Iu0nwHm8dc7d X-Google-Smtp-Source: AAOMgpe/weSyd+g+/rMsQOxpOUuMYc1Z142i1hzlJcwcVfyLVg5Gy56npnvlwvNFFSIQLZSIn42mAA== X-Received: by 2002:a63:8a41:: with SMTP id y62-v6mr3266811pgd.291.1532639120835; Thu, 26 Jul 2018 14:05:20 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:23 +0530 Message-Id: <1532447562-24010-23-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Thu, 26 Jul 2018 21:05:21 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Thu, 26 Jul 2018 21:05:21 +0000 (UTC) for IP:'209.85.215.194' DOMAIN:'mail-pg1-f194.google.com' HELO:'mail-pg1-f194.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.194 mail-pg1-f194.google.com 209.85.215.194 mail-pg1-f194.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.47 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 22/41] util: usb: modify virUSBDeviceListAdd to take double pointer 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:06:38 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Modify virUSBDeviceListAdd to take a double pointer to virUSBDevicePtr as the second argument. This will enable usage of cleanup macros upon the virUSBDevicePtr item which is to be added to the list as it will be cleared by virInsertElementsN upon success. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virhostdev.c | 6 +++--- src/util/virusb.c | 10 +++++----- src/util/virusb.h | 2 +- tests/virusbtest.c | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c index f4bd19d..d5075ac 100644 --- a/src/util/virhostdev.c +++ b/src/util/virhostdev.c @@ -1236,7 +1236,7 @@ virHostdevUpdateActiveUSBDevices(virHostdevManagerPtr= mgr, =20 virUSBDeviceSetUsedBy(usb, drv_name, dom_name); =20 - if (virUSBDeviceListAdd(mgr->activeUSBHostdevs, usb) < 0) { + if (virUSBDeviceListAdd(mgr->activeUSBHostdevs, &usb) < 0) { virUSBDeviceFree(usb); goto cleanup; } @@ -1406,7 +1406,7 @@ virHostdevMarkUSBDevices(virHostdevManagerPtr mgr, * from the virUSBDeviceList that passed in on success, * perform rollback on failure. */ - if (virUSBDeviceListAdd(mgr->activeUSBHostdevs, usb) < 0) + if (virUSBDeviceListAdd(mgr->activeUSBHostdevs, &usb) < 0) goto error; } =20 @@ -1555,7 +1555,7 @@ virHostdevPrepareUSBDevices(virHostdevManagerPtr mgr, if (virHostdevFindUSBDevice(hostdev, required, &usb) < 0) goto cleanup; =20 - if (usb && virUSBDeviceListAdd(list, usb) < 0) { + if (usb && virUSBDeviceListAdd(list, &usb) < 0) { virUSBDeviceFree(usb); goto cleanup; } diff --git a/src/util/virusb.c b/src/util/virusb.c index 2fe1bfc..7818232 100644 --- a/src/util/virusb.c +++ b/src/util/virusb.c @@ -181,7 +181,7 @@ virUSBDeviceSearch(unsigned int vendor, if (!usb) goto cleanup; =20 - if (virUSBDeviceListAdd(list, usb) < 0) { + if (virUSBDeviceListAdd(list, &usb) < 0) { virUSBDeviceFree(usb); goto cleanup; } @@ -463,15 +463,15 @@ virUSBDeviceListDispose(void *obj) =20 int virUSBDeviceListAdd(virUSBDeviceListPtr list, - virUSBDevicePtr dev) + virUSBDevicePtr *dev) { - if (virUSBDeviceListFind(list, dev)) { + if (virUSBDeviceListFind(list, *dev)) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Device %s is already in use"), - dev->name); + (*dev)->name); return -1; } - return VIR_APPEND_ELEMENT(list->devs, list->count, dev); + return VIR_APPEND_ELEMENT(list->devs, list->count, *dev); } =20 virUSBDevicePtr diff --git a/src/util/virusb.h b/src/util/virusb.h index 716e8c6..078dee6 100644 --- a/src/util/virusb.h +++ b/src/util/virusb.h @@ -88,7 +88,7 @@ int virUSBDeviceFileIterate(virUSBDevicePtr dev, =20 virUSBDeviceListPtr virUSBDeviceListNew(void); int virUSBDeviceListAdd(virUSBDeviceListPtr list, - virUSBDevicePtr dev); + virUSBDevicePtr *dev); virUSBDevicePtr virUSBDeviceListGet(virUSBDeviceListPtr list, int idx); size_t virUSBDeviceListCount(virUSBDeviceListPtr list); diff --git a/tests/virusbtest.c b/tests/virusbtest.c index 8728fe9..05bba2b 100644 --- a/tests/virusbtest.c +++ b/tests/virusbtest.c @@ -173,7 +173,7 @@ testUSBList(const void *opaque ATTRIBUTE_UNUSED) dev =3D virUSBDeviceListGet(devlist, 0); dev =3D virUSBDeviceListSteal(devlist, dev); =20 - if (virUSBDeviceListAdd(list, dev) < 0) + if (virUSBDeviceListAdd(list, &dev) < 0) goto cleanup; dev =3D NULL; } @@ -196,7 +196,7 @@ testUSBList(const void *opaque ATTRIBUTE_UNUSED) dev =3D virUSBDeviceListGet(devlist, 0); dev =3D virUSBDeviceListSteal(devlist, dev); =20 - if (virUSBDeviceListAdd(list, dev) < 0) + if (virUSBDeviceListAdd(list, &dev) < 0) goto cleanup; dev =3D NULL; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639198086608.3081038318; Thu, 26 Jul 2018 14:06:38 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5A22282DF; Thu, 26 Jul 2018 21:06:18 +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 09933CE6BD; Thu, 26 Jul 2018 21:06:18 +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 8317C1800541; Thu, 26 Jul 2018 21:06:17 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5X8s024943 for ; Thu, 26 Jul 2018 17:05:33 -0400 Received: by smtp.corp.redhat.com (Postfix) id 69E536090E; Thu, 26 Jul 2018 21:05:33 +0000 (UTC) Received: from mx1.redhat.com (ext-mx13.extmail.prod.ext.phx2.redhat.com [10.5.110.42]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5F879608F8 for ; Thu, 26 Jul 2018 21:05:24 +0000 (UTC) Received: from mail-pl0-f44.google.com (mail-pl0-f44.google.com [209.85.160.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6BDE73082140 for ; Thu, 26 Jul 2018 21:05:23 +0000 (UTC) Received: by mail-pl0-f44.google.com with SMTP id s17-v6so1342634plp.7 for ; Thu, 26 Jul 2018 14:05:23 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.21 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=MJhjAJtaqxhy9cdPxQBtHL0ZBDPLkbQaCYeCkb7AwNA=; b=px/BAFp4z0P4P1bm1H776Nf9TLhQJaTQsDczSHZFejDsFGHB+Dl6Ho3HOLyosb133m SBljgzPxNM1hr4nFUpdSwWh8oRrbtKmTm3ZSeb+/4Db5aMR8N5fK0XXVBNGx9qQ4h9jR c7ER2l7szRe1S8a9cpxI0qCqexBi4vUPGZhXtiJ2M35MMdj7fSUlTw/MNl8tuGSlSiH6 ICT3HF/X0IpalHCDFut+xgHB8iIofP7sBBZfiKxF2IUUOAixuSW0e89Ak3guQmD5m8Tg i3+iuSUOpCZoQL93/sgxFmpS1JqZAmeJMKkwglYwfeXyP3PhdjSPbnTtLmRjkLXGp6+E R02A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=MJhjAJtaqxhy9cdPxQBtHL0ZBDPLkbQaCYeCkb7AwNA=; b=gsqecOWMrIq8drHlQq4sx/76yGQer4l2QRDYsJK/F1GhIzET/FpirxTCe2XRfO670x CKrxWM8tSTvS6TFHkyaABF27BbkBc4kbfZXWnzGGZ4Of2ZsSfqxOr1f+c4C4+4E8jZzO Yt330Jq68Qe4+g4l8JceQ0O4+NstPgdVflVyRyfnbPBBzEP9JN/xrMOOarn/YEPdvquC WekUdWMVYAubRntdEmpulhTnYdrht71PDpVk/U/4UeAh/lwbNUgr54qV30p6tLsgPTgw EFhiP/GUhYB2D8OuRlqeiqZQwoIALpAQ7qCoCT1Wgdm9+jZvcHvd3ShjjkeOexdsyn/6 tOIQ== X-Gm-Message-State: AOUpUlFtDzGOaQ2VNoAkMbkv5MvRERj3hbKlUNpfhUv8XSwLBWkfI5vO W4PdFqKSJKnMfpHerkslKJDQHKvZ X-Google-Smtp-Source: AAOMgpeds3s0S3KDc9ZbtLyQh5aV2xFw/CmLUTrRHrtP/aFwSKbno1T2OUKTjeC5EDO0+RW0fpDi7A== X-Received: by 2002:a17:902:3081:: with SMTP id v1-v6mr3451193plb.266.1532639122676; Thu, 26 Jul 2018 14:05:22 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:24 +0530 Message-Id: <1532447562-24010-24-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 26 Jul 2018 21:05:23 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Thu, 26 Jul 2018 21:05:23 +0000 (UTC) for IP:'209.85.160.44' DOMAIN:'mail-pl0-f44.google.com' HELO:'mail-pl0-f44.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.44 mail-pl0-f44.google.com 209.85.160.44 mail-pl0-f44.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.42 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 23/41] util: usb: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:06:36 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When a variable of type virUSBDevicePtr is declared using VIR_AUTOPTR, the function virUSBDeviceFree will be run automatically on it when it goes out of scope. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virusb.c | 1 - src/util/virusb.h | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/util/virusb.c b/src/util/virusb.c index 7818232..90f947b 100644 --- a/src/util/virusb.c +++ b/src/util/virusb.c @@ -35,7 +35,6 @@ =20 #include "virusb.h" #include "virlog.h" -#include "viralloc.h" #include "virutil.h" #include "virerror.h" #include "virfile.h" diff --git a/src/util/virusb.h b/src/util/virusb.h index 078dee6..afaaf95 100644 --- a/src/util/virusb.h +++ b/src/util/virusb.h @@ -27,6 +27,7 @@ =20 # include "internal.h" # include "virobject.h" +# include "viralloc.h" =20 # define USB_DEVFS "/dev/bus/usb/" =20 @@ -99,4 +100,6 @@ void virUSBDeviceListDel(virUSBDeviceListPtr list, virUSBDevicePtr virUSBDeviceListFind(virUSBDeviceListPtr list, virUSBDevicePtr dev); =20 +VIR_DEFINE_AUTOPTR_FUNC(virUSBDevice, virUSBDeviceFree) + #endif /* __VIR_USB_H__ */ --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639137044914.5983651221646; Thu, 26 Jul 2018 14:05:37 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D0C30300176B; Thu, 26 Jul 2018 21:05:34 +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 99918308BDB7; Thu, 26 Jul 2018 21:05: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 50EC1264D3; Thu, 26 Jul 2018 21:05:34 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5QKN024891 for ; Thu, 26 Jul 2018 17:05:26 -0400 Received: by smtp.corp.redhat.com (Postfix) id 46EB92010CC5; Thu, 26 Jul 2018 21:05:26 +0000 (UTC) Received: from mx1.redhat.com (ext-mx15.extmail.prod.ext.phx2.redhat.com [10.5.110.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3AD902010CC4 for ; Thu, 26 Jul 2018 21:05:26 +0000 (UTC) Received: from mail-pl0-f66.google.com (mail-pl0-f66.google.com [209.85.160.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7FCE330832E2 for ; Thu, 26 Jul 2018 21:05:25 +0000 (UTC) Received: by mail-pl0-f66.google.com with SMTP id b1-v6so1341815pls.5 for ; Thu, 26 Jul 2018 14:05:25 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.22 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=Sk276CJnd3n+QfrPt00DZYJL+3r81qdlNK2xPS63umg=; b=eGzmrUiGKRWhvyJddAo4RUBsImYAI5jP4l2Qv5joxD9cHYV4IOOjTZ2xCZ98q0wBZb j5Py00IFVd1fZyzp81aPjPJ3Xs2Th8uejcbZMCSOl0oFpit51eJDI6L8iW9+I4rSzhKn tIC0548Hs8h1qPI6zYvgRdRUiGxQQLVVH/pmOORSmP4I8p5hzEahWSHsEPdcsitx8/mN PHXhfBGNh1V20nsuqBnRHO/Lc+B1jkObGkzHeqRvY3VURq0V5QVLVBRebXMLSooO3JnE M+cds6bqEsTITyTTthssYh8YSRF6PcSFpCLFfAOtOexF1thHF4WY2kd1vpY8XNov6XmJ pDuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=Sk276CJnd3n+QfrPt00DZYJL+3r81qdlNK2xPS63umg=; b=anDpN7sgXIBDcExktX5KHbM+5sOXqvqNQJ1ermCuHquNriw6yvi+lRzbYBm2+yBSdt RFvSwEQcWkUHHgyEPCZmVv5huvtZbokkTXDvDJ1/jfFMjnBFMuf058g4f+sG51kSDq46 AZSIhdKzCqyF3OLhwjBhVwPyugiTbOTcbLqYSLmExq8CrmPAbtOnax7hfyA+vl8WnQd/ qTGTj69BH1jZzzduAUNklpT6z4XGI+PUJrs9EZTBigH4S4pYpPFHVmvSNBXMWw0bpv20 DPsqgLQfPU9Jp1/HYzVDZoWgx1e0URLjTmSBs7l+Q1CdzjejlCxFo6uD34nTqO5TU9zC Xnrw== X-Gm-Message-State: AOUpUlFKgMwyfOQYJ4RriXc8ztq+dgqFYOA0edHWLJxFgvEo4qk+kMJG lGl66b9ZToDW1jvtrNlIbMQXXTHf X-Google-Smtp-Source: AAOMgpelZJ3ufMMbtoikCdHuX6Pq89fJcdiNsSyIkz/WBk+BJHtG6Ik5Ebag2RTtzVr38+i3vXJuDw== X-Received: by 2002:a17:902:7c8e:: with SMTP id y14-v6mr3418091pll.265.1532639124794; Thu, 26 Jul 2018 14:05:24 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:25 +0530 Message-Id: <1532447562-24010-25-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Thu, 26 Jul 2018 21:05:25 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Thu, 26 Jul 2018 21:05:25 +0000 (UTC) for IP:'209.85.160.66' DOMAIN:'mail-pl0-f66.google.com' HELO:'mail-pl0-f66.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.66 mail-pl0-f66.google.com 209.85.160.66 mail-pl0-f66.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.44 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 24/41] util: usb: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 26 Jul 2018 21:05:35 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virusb.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/util/virusb.c b/src/util/virusb.c index 90f947b..47b407b 100644 --- a/src/util/virusb.c +++ b/src/util/virusb.c @@ -90,29 +90,25 @@ VIR_ONCE_GLOBAL_INIT(virUSB) static int virUSBSysReadFile(const char *f_name, const char *d_name, int base, unsigned int *value) { - int ret =3D -1, tmp; - char *buf =3D NULL; - char *filename =3D NULL; + int tmp; + VIR_AUTOFREE(char *) buf =3D NULL; + VIR_AUTOFREE(char *) filename =3D NULL; char *ignore =3D NULL; =20 tmp =3D virAsprintf(&filename, USB_SYSFS "/devices/%s/%s", d_name, f_n= ame); if (tmp < 0) - goto cleanup; + return -1; =20 if (virFileReadAll(filename, 1024, &buf) < 0) - goto cleanup; + return -1; =20 if (virStrToLong_ui(buf, &ignore, base, value) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Could not parse usb file %s"), filename); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - VIR_FREE(filename); - VIR_FREE(buf); - return ret; + return 0; } =20 static virUSBDeviceListPtr --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639134118805.8649939179878; Thu, 26 Jul 2018 14:05:34 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 310CF307D85C; Thu, 26 Jul 2018 21:05: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 E563F308BDB4; Thu, 26 Jul 2018 21:05: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 888271800540; Thu, 26 Jul 2018 21:05:31 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5UX9024915 for ; Thu, 26 Jul 2018 17:05:30 -0400 Received: by smtp.corp.redhat.com (Postfix) id F0ED5608F7; Thu, 26 Jul 2018 21:05:29 +0000 (UTC) Received: from mx1.redhat.com (ext-mx07.extmail.prod.ext.phx2.redhat.com [10.5.110.31]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8880B6091C for ; Thu, 26 Jul 2018 21:05:28 +0000 (UTC) Received: from mail-pl0-f68.google.com (mail-pl0-f68.google.com [209.85.160.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A260AC04AC43 for ; Thu, 26 Jul 2018 21:05:27 +0000 (UTC) Received: by mail-pl0-f68.google.com with SMTP id e11-v6so1344303plb.3 for ; Thu, 26 Jul 2018 14:05:27 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.25 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=GXSz+omG0gwdwLoastA3SCD9QAdj1C9IsusSFlM71FI=; b=h51sRHgPa8QWED/QH0aw7brRjGBEhLJL1SdAZDL+WFOnzk2C6HYE9q4G2lfze5oc40 E7dmnjDsQEIPuh5Qggl62BIK5VkvwnGO0P21hQvDyNODUjzQ5ZZ2QTlVIq00FHf/a78M ekauwwio4Qd9GoFEs+co/N/+nP6jwh5jqSsSVe9ZFs+O4IcE3Gp/CfAaCodtV8A1fQnV xWqQJtZRE2XjA51y9pe0H2TewyxuIrgjeANFcYIfNloZrxloggSdfMBMMhVFMkDt6pzA lbqGgGlh03WMEidKNNMYiiWkAxCZxQz7B6igiYdaYGxVLvxAXKCCCRVio0N9KTH8Zn8W 5qjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=GXSz+omG0gwdwLoastA3SCD9QAdj1C9IsusSFlM71FI=; b=lB3UmZXpNdvl9ZGzHaJtNTm7HIi3oE7RnX2yBG+0x/yEk85Jy0ezAzKtLxdMzt6rnp U2gPhzohXI19CrOqSp1IQZPLHZFe1872AH+uJ3Sz+hVMhM15SXum2DDqZkoYzfx5PpF2 N5WfG7HiMJehYWhuJtC5YC15f3cx/t8RnTjp28sZJBqqJ9V7HpT/Gw/OFLxT6NepWlR/ SvrxF6a3mp31CAwK7fypI3SGbWXDqnc5jZCvXmzenVHoAWwQ0sqVkB8XzvcVQlpW63+b 3hUCYWpy9V+EyzWaZPVBnV8dXUQB+GfEidVpqlLzb4YOn+YZztY68Xh52VKeKnu/+rc1 ZDKQ== X-Gm-Message-State: AOUpUlFa7NoTGjE92lkJPrR0rdB2yO3hWQLG0IUcrd+TaE0+iFUcpS31 5va0/4Nt/CbuqboSpEjSm7TU9IxO X-Google-Smtp-Source: AAOMgpd3uS+ws/Y4Ph0wM5VD8y+UlxVjcbUQ8lwMzhb0nECTrQbWnbapOiYXJKxZ4xmni633AW1KFA== X-Received: by 2002:a17:902:ab94:: with SMTP id f20-v6mr3319482plr.231.1532639126919; Thu, 26 Jul 2018 14:05:26 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:26 +0530 Message-Id: <1532447562-24010-26-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 26 Jul 2018 21:05:27 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 26 Jul 2018 21:05:27 +0000 (UTC) for IP:'209.85.160.68' DOMAIN:'mail-pl0-f68.google.com' HELO:'mail-pl0-f68.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.68 mail-pl0-f68.google.com 209.85.160.68 mail-pl0-f68.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.31 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 25/41] util: usb: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Thu, 26 Jul 2018 21:05:32 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virusb.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/util/virusb.c b/src/util/virusb.c index 47b407b..df94959 100644 --- a/src/util/virusb.c +++ b/src/util/virusb.c @@ -123,8 +123,10 @@ virUSBDeviceSearch(unsigned int vendor, bool found =3D false; char *ignore =3D NULL; struct dirent *de; - virUSBDeviceListPtr list =3D NULL, ret =3D NULL; - virUSBDevicePtr usb; + virUSBDeviceListPtr list =3D NULL; + virUSBDeviceListPtr ret =3D NULL; + VIR_AUTOPTR(virUSBDevice) usb =3D NULL; + virUSBDevicePtr *ptr =3D NULL; int direrr; =20 if (!(list =3D virUSBDeviceListNew())) @@ -173,13 +175,13 @@ virUSBDeviceSearch(unsigned int vendor, } =20 usb =3D virUSBDeviceNew(found_bus, found_devno, vroot); + ptr =3D &usb; + if (!usb) goto cleanup; =20 - if (virUSBDeviceListAdd(list, &usb) < 0) { - virUSBDeviceFree(usb); + if (virUSBDeviceListAdd(list, ptr) < 0) goto cleanup; - } =20 if (found) break; @@ -508,8 +510,7 @@ void virUSBDeviceListDel(virUSBDeviceListPtr list, virUSBDevicePtr dev) { - virUSBDevicePtr ret =3D virUSBDeviceListSteal(list, dev); - virUSBDeviceFree(ret); + VIR_AUTOPTR(virUSBDevice) ret =3D virUSBDeviceListSteal(list, dev); } =20 virUSBDevicePtr --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639152567853.9417379812489; Thu, 26 Jul 2018 14:05:52 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A60DA308226D; Thu, 26 Jul 2018 21:05: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 EE79B3001A72; Thu, 26 Jul 2018 21:05: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 93DAA24F58; Thu, 26 Jul 2018 21:05:49 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5dSO024992 for ; Thu, 26 Jul 2018 17:05:39 -0400 Received: by smtp.corp.redhat.com (Postfix) id DBA8D60F8C; Thu, 26 Jul 2018 21:05:39 +0000 (UTC) Received: from mx1.redhat.com (ext-mx06.extmail.prod.ext.phx2.redhat.com [10.5.110.30]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D0CDA60C80 for ; Thu, 26 Jul 2018 21:05:30 +0000 (UTC) Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8B70B285CF for ; Thu, 26 Jul 2018 21:05:29 +0000 (UTC) Received: by mail-pg1-f179.google.com with SMTP id x5-v6so1879473pgp.7 for ; Thu, 26 Jul 2018 14:05:29 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.27 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=KL77s56V9n+FQ8JQbeJabwguLs+NLV2slHGHHmsnOFQ=; b=G0rKsBLs4ht+EGIgFkH/jZDAFSS+7zttA0Wt02Fa6STKSGnXIYSNXZBmHpH9MR1kBx T1wpfozaxO1dsJ4WH9g6bQc3fEbYX0cOK0j+dFM5uKSZU5lZcmsilqFf3z4kYK9cNd04 9jwJcn7+gEKGD2Xs+nBHMmkVvxUjit7AQH05k3f0bTFD6yP8zFZKl7/DxVQ96LFSOmmx ptmp6Sbx6UD5YSDEbxYLDzZplh9b5vGGXmLRp0VkGkrUtw0pRM0OMwuyqDoQ8i/bpQZ6 /oS9u8UmtvQGtTpLuj8Mo1SIJl2+WdpY2t8aocevpvjrv2bzjFOFHX1eArR83kQFR5em +uZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=KL77s56V9n+FQ8JQbeJabwguLs+NLV2slHGHHmsnOFQ=; b=lLlHyiC7BZLp6AWsR31Azr+MmRq3Kex+dlr06UQHz6dwjRc5+0L0A2q7Z6DDLvcmmc SriCe18ZckdfYy2PH0BpuBCUPRflqDsVqxkpLHU1Tu9l1cUN8/Xq1YA+N/j0Q9kYMrEn BF0whSZszA0jd2XCFc0iy2Dc+aH3Sk16V1PKxmkntL7675F2rzfKNPE783mAh9uZtbSh FMCg+UsxiZbkkguukbDt9kr0gLu5gsu4bCp/MkkRt6C39Pzwp+InwMh/97ZE3WunsBjw YyKTZ1tOFiZXTpop5S3yugZsLIhTQhY2xi0smX4FC6FyOrmv1DHNiyRhaUX5IWKS3kvV sZeA== X-Gm-Message-State: AOUpUlE2Juu9RdCI/j34cHeAEjkx0Nhw6uZu+RVCF2zi3x9J0OEePudX LJVjKrheBKUyMutmd57AQlgIoWm6 X-Google-Smtp-Source: AAOMgpcJ69AY9B2FyJI5kwlTQE4pHCreju3XBcIV5HyryBdjaPufwEdsanbrBT4lxWK5PmOV/VXNGw== X-Received: by 2002:a62:864a:: with SMTP id x71-v6mr3728099pfd.252.1532639128808; Thu, 26 Jul 2018 14:05:28 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:27 +0530 Message-Id: <1532447562-24010-27-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:29 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:29 +0000 (UTC) for IP:'209.85.215.179' DOMAIN:'mail-pg1-f179.google.com' HELO:'mail-pg1-f179.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.39 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.179 mail-pg1-f179.google.com 209.85.215.179 mail-pg1-f179.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.30 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 26/41] util: scsi: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.45]); Thu, 26 Jul 2018 21:05:51 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When variables of type virSCSIDevicePtr and virUsedByInfoPtr are declared using VIR_AUTOPTR, the functions virSCSIDeviceFree and virSCSIDeviceUsedByInfoFree, respectively, will be run automatically on them when they go out of scope. This commit also adds an intermediate typedef for virUsedByInfo type for use with the cleanup macros. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virscsi.c | 5 +++-- src/util/virscsi.h | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/util/virscsi.c b/src/util/virscsi.c index b51103a..33292f6 100644 --- a/src/util/virscsi.c +++ b/src/util/virscsi.c @@ -37,7 +37,6 @@ =20 #include "virlog.h" #include "virscsi.h" -#include "viralloc.h" #include "virfile.h" #include "virutil.h" #include "virstring.h" @@ -54,7 +53,8 @@ struct _virUsedByInfo { char *drvname; /* which driver */ char *domname; /* which domain */ }; -typedef struct _virUsedByInfo *virUsedByInfoPtr; +typedef struct _virUsedByInfo virUsedByInfo; +typedef virUsedByInfo *virUsedByInfoPtr; =20 struct _virSCSIDevice { unsigned int adapter; @@ -264,6 +264,7 @@ virSCSIDeviceUsedByInfoFree(virUsedByInfoPtr used_by) VIR_FREE(used_by->domname); VIR_FREE(used_by); } +VIR_DEFINE_AUTOPTR_FUNC(virUsedByInfo, virSCSIDeviceUsedByInfoFree) =20 void virSCSIDeviceFree(virSCSIDevicePtr dev) diff --git a/src/util/virscsi.h b/src/util/virscsi.h index 9f8b3ec..b96d862 100644 --- a/src/util/virscsi.h +++ b/src/util/virscsi.h @@ -26,6 +26,7 @@ =20 # include "internal.h" # include "virobject.h" +# include "viralloc.h" =20 typedef struct _virSCSIDevice virSCSIDevice; typedef virSCSIDevice *virSCSIDevicePtr; @@ -95,4 +96,6 @@ void virSCSIDeviceListDel(virSCSIDeviceListPtr list, virSCSIDevicePtr virSCSIDeviceListFind(virSCSIDeviceListPtr list, virSCSIDevicePtr dev); =20 +VIR_DEFINE_AUTOPTR_FUNC(virSCSIDevice, virSCSIDeviceFree) + #endif /* __VIR_SCSI_H__ */ --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639177484668.4306293355583; Thu, 26 Jul 2018 14:06:17 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 1AC6530001D7; Thu, 26 Jul 2018 21:06:11 +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 DA8DB60190; Thu, 26 Jul 2018 21:06:10 +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 8850F24B79; Thu, 26 Jul 2018 21:06:10 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5vVt025125 for ; Thu, 26 Jul 2018 17:05:57 -0400 Received: by smtp.corp.redhat.com (Postfix) id 1744F308BDB4; Thu, 26 Jul 2018 21:05:57 +0000 (UTC) Received: from mx1.redhat.com (ext-mx06.extmail.prod.ext.phx2.redhat.com [10.5.110.30]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0BA2C308BDB2 for ; Thu, 26 Jul 2018 21:05:48 +0000 (UTC) Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6B86B36809 for ; Thu, 26 Jul 2018 21:05:31 +0000 (UTC) Received: by mail-pg1-f169.google.com with SMTP id p23-v6so1875439pgv.13 for ; Thu, 26 Jul 2018 14:05:31 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.29 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=X0AEIpzywkf0vNrj3j1yOJnfQCkFRVddfvbvz+e19kY=; b=uqbOwsmjPA8Ci9bGsIKpE1J3j23rRpP2cjpne2VkL6O3/KpVo7YyDvbWOKfkwxG7Y2 a3N5TKb9faMU0UPwGGkUlktkrJIkGNoyp+uXXc0ZaMsDfoF/ZkVhLrFGVuSGCZGtPQlC lGE3gAzf2CNONshKxcZVeKUE9O9gy9D9j8OdyelTga7KqpDTVyUqTcBm0MeM51USBg/k Hn0GQGAtS9Lz4AoRou7Yvcbk/mV2dfhlaQNnI7mUdgk3jvLjtqulyKCsSTH7QQUGoKMY HSlz4z0wzld/VF5i9an7rJrfxB75kEEYUKHCNmFi3kIXHW+NVsUOA2+13IVqP1gfuymg L4cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=X0AEIpzywkf0vNrj3j1yOJnfQCkFRVddfvbvz+e19kY=; b=qQGaahjxqJt8jMmvHAsM56HI7fum8Ajevj1D8M0hSkYjYqNGVug36es2LXq4vlHnex S8Vu3ljOJR6fJFmj5wwpvJI0XOwgNfFl5j5+ZuP9+cF2M7dAX/Kkr7ECEWtPFgFvLn8F Se3dRSMRddCN0GmmxKLrlRlAh6Q8Efyxu5PTfEj1Wjy2wbdKJCrjkWwvDwfcshNUt0mA b68h9VH+ixliqHuDr+5xrJ8wfgGY8VqsEAvaZr3kXZKWQsY76uqVwgis82x7MTuE9gyz JFOdk4CCz5hkklCh+uZO8i6ioduMmEHSK5RMujxUO2mGWil/2tCkc+/i4/FVnnzFtUtt mXLQ== X-Gm-Message-State: AOUpUlGKgIdVSbYbUR9RJUmmLNPVwmwvkYOLO9l+Ey7WEGeleL154QYD DZynauuYIQpVzJc592BeVEquXFDQ X-Google-Smtp-Source: AAOMgpcp5nKdJVSuqo76SN22Ipj/yuGPBt0dzZJpzyzoILGhXB3mIS7bg6UhM6ORiHj7zf+UDe9BCg== X-Received: by 2002:a62:5047:: with SMTP id e68-v6mr3694988pfb.157.1532639130706; Thu, 26 Jul 2018 14:05:30 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:28 +0530 Message-Id: <1532447562-24010-28-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:47 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:47 +0000 (UTC) for IP:'209.85.215.169' DOMAIN:'mail-pg1-f169.google.com' HELO:'mail-pg1-f169.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.39 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.169 mail-pg1-f169.google.com 209.85.215.169 mail-pg1-f169.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.30 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 27/41] util: scsi: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:06:16 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virscsi.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/util/virscsi.c b/src/util/virscsi.c index 33292f6..ba0a688 100644 --- a/src/util/virscsi.c +++ b/src/util/virscsi.c @@ -115,7 +115,7 @@ virSCSIDeviceGetSgName(const char *sysfs_prefix, { DIR *dir =3D NULL; struct dirent *entry; - char *path =3D NULL; + VIR_AUTOFREE(char *) path =3D NULL; char *sg =3D NULL; unsigned int adapter_id; const char *prefix =3D sysfs_prefix ? sysfs_prefix : SYSFS_SCSI_DEVICE= S; @@ -139,7 +139,6 @@ virSCSIDeviceGetSgName(const char *sysfs_prefix, =20 cleanup: VIR_DIR_CLOSE(dir); - VIR_FREE(path); return sg; } =20 @@ -155,7 +154,7 @@ virSCSIDeviceGetDevName(const char *sysfs_prefix, { DIR *dir =3D NULL; struct dirent *entry; - char *path =3D NULL; + VIR_AUTOFREE(char *) path =3D NULL; char *name =3D NULL; unsigned int adapter_id; const char *prefix =3D sysfs_prefix ? sysfs_prefix : SYSFS_SCSI_DEVICE= S; @@ -178,7 +177,6 @@ virSCSIDeviceGetDevName(const char *sysfs_prefix, =20 cleanup: VIR_DIR_CLOSE(dir); - VIR_FREE(path); return name; } =20 @@ -192,11 +190,11 @@ virSCSIDeviceNew(const char *sysfs_prefix, bool shareable) { virSCSIDevicePtr dev, ret =3D NULL; - char *sg =3D NULL; - char *vendor_path =3D NULL; - char *model_path =3D NULL; - char *vendor =3D NULL; - char *model =3D NULL; + VIR_AUTOFREE(char *) sg =3D NULL; + VIR_AUTOFREE(char *) vendor_path =3D NULL; + VIR_AUTOFREE(char *) model_path =3D NULL; + VIR_AUTOFREE(char *) vendor =3D NULL; + VIR_AUTOFREE(char *) model =3D NULL; const char *prefix =3D sysfs_prefix ? sysfs_prefix : SYSFS_SCSI_DEVICE= S; =20 if (VIR_ALLOC(dev) < 0) @@ -247,11 +245,6 @@ virSCSIDeviceNew(const char *sysfs_prefix, =20 ret =3D dev; cleanup: - VIR_FREE(sg); - VIR_FREE(vendor); - VIR_FREE(model); - VIR_FREE(vendor_path); - VIR_FREE(model_path); if (!ret) virSCSIDeviceFree(dev); return ret; --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 153263915893887.77305451696543; Thu, 26 Jul 2018 14:05:58 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 826A722C; Thu, 26 Jul 2018 21:05: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 3E0CE3001A77; Thu, 26 Jul 2018 21:05: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 DAF1B1800B6C; Thu, 26 Jul 2018 21:05:42 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5dbZ024989 for ; Thu, 26 Jul 2018 17:05:39 -0400 Received: by smtp.corp.redhat.com (Postfix) id D2824308BDB2; Thu, 26 Jul 2018 21:05:39 +0000 (UTC) Received: from mx1.redhat.com (ext-mx09.extmail.prod.ext.phx2.redhat.com [10.5.110.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C778F308BDB1 for ; Thu, 26 Jul 2018 21:05:34 +0000 (UTC) Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 63B7532B68D for ; Thu, 26 Jul 2018 21:05:33 +0000 (UTC) Received: by mail-pg1-f180.google.com with SMTP id r5-v6so1894657pgv.0 for ; Thu, 26 Jul 2018 14:05:33 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.31 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=mvvRPvFjy7sb0wj/nKXUvGsgg4EJxzskGQkv68LEPMg=; b=eYZjtoyhfpaDJ6dOwJipufLn6wNqxRJpDwhktCPEdfCD/2Pjzkpz8fR1k1Al2jknHC V/NpnpJ6lMcEePxbeZ6AWoI1j0pqGZQE4V3MRYJ6MqbTbje75N87X11baKH+9T2uSlsB Wf2mWUGFWhMW1EQs13ZjgZ7O3j7kfMBpSARa3Ty9N+xXGWN17XPGS4kxgL1ydlRXkgp6 NySX7XKK8E5ddV/nTv4eHm6hUEiKOA+vvvn6eE8yvJsifEiXK+wJtKd6XZboepxLRQUn ArEozytpKn1XrSdft+sduJrhaSkLSQdOr1NmjFwh0OgqI9ePp5RQJqSuaHpXF61Anc+K CWPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=mvvRPvFjy7sb0wj/nKXUvGsgg4EJxzskGQkv68LEPMg=; b=ZmyDYSbzRc7UJlsQh3+x/FXBsPVS1w/wRL3NPgk4jsEqlzXpco9g8M7ObvzVBQixzm FOeFv/oAseWFnyaxbj+2zcOdwUFIB3gTDkSDirjFdyUS19ANCcTXG7n+vMJQPsgYZ0Pb msXmFYNBNzQPf5VvNLEKIKwZ9dky9IlxEyULEH1AHTkDCegZA0fJz9mjHrI3x5RzPg+j wAzCJCl3PsUvxyPNdH6WTdkoBOEscOQEHEY7loHYnNgbgd6KXlFv6Lyr2B/I8B33EmKf jiYT0Rsjvh7oN3fp9ajtKk1LPykHZPgs3P15DMk+4/9p7EL/Tl36MpsKKvIsq492ELO9 ZgVw== X-Gm-Message-State: AOUpUlG+Hzwzkb6kD/oJ4hHP6F3KoKxKsEzkwZvF/4HW4OGL71pSN863 d89f1K8n5UPNUxaiC6sKI794FrbV X-Google-Smtp-Source: AAOMgpfY1TiBltGiSkOYKX/ZCIO7bZcPXpHyS89RQy+DLhHuuvd4IzMxeumN3ra5inBOyKJAGzYlgw== X-Received: by 2002:a62:14ce:: with SMTP id 197-v6mr3723714pfu.222.1532639132648; Thu, 26 Jul 2018 14:05:32 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:29 +0530 Message-Id: <1532447562-24010-29-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:05:33 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:05:33 +0000 (UTC) for IP:'209.85.215.180' DOMAIN:'mail-pg1-f180.google.com' HELO:'mail-pg1-f180.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.180 mail-pg1-f180.google.com 209.85.215.180 mail-pg1-f180.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.38 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 28/41] util: scsi: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:56 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virscsi.c | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/src/util/virscsi.c b/src/util/virscsi.c index ba0a688..f97f6b5 100644 --- a/src/util/virscsi.c +++ b/src/util/virscsi.c @@ -189,7 +189,8 @@ virSCSIDeviceNew(const char *sysfs_prefix, bool readonly, bool shareable) { - virSCSIDevicePtr dev, ret =3D NULL; + VIR_AUTOPTR(virSCSIDevice) dev =3D NULL; + virSCSIDevicePtr ret =3D NULL; VIR_AUTOFREE(char *) sg =3D NULL; VIR_AUTOFREE(char *) vendor_path =3D NULL; VIR_AUTOFREE(char *) model_path =3D NULL; @@ -207,46 +208,43 @@ virSCSIDeviceNew(const char *sysfs_prefix, dev->shareable =3D shareable; =20 if (!(sg =3D virSCSIDeviceGetSgName(prefix, adapter, bus, target, unit= ))) - goto cleanup; + return NULL; =20 if (virSCSIDeviceGetAdapterId(adapter, &dev->adapter) < 0) - goto cleanup; + return NULL; =20 if (virAsprintf(&dev->name, "%d:%u:%u:%llu", dev->adapter, dev->bus, dev->target, dev->unit) < 0 || virAsprintf(&dev->sg_path, "%s/%s", sysfs_prefix ? sysfs_prefix : "/dev", sg) < 0) - goto cleanup; + return NULL; =20 if (!virFileExists(dev->sg_path)) { virReportSystemError(errno, _("SCSI device '%s': could not access %s"), dev->name, dev->sg_path); - goto cleanup; + return NULL; } =20 if (virAsprintf(&vendor_path, "%s/%s/vendor", prefix, dev->name) < 0 || virAsprintf(&model_path, "%s/%s/model", prefix, dev->name) < 0) - goto cleanup; + return NULL; =20 if (virFileReadAll(vendor_path, 1024, &vendor) < 0) - goto cleanup; + return NULL; =20 if (virFileReadAll(model_path, 1024, &model) < 0) - goto cleanup; + return NULL; =20 virTrimSpaces(vendor, NULL); virTrimSpaces(model, NULL); =20 if (virAsprintf(&dev->id, "%s:%s", vendor, model) < 0) - goto cleanup; + return NULL; =20 - ret =3D dev; - cleanup: - if (!ret) - virSCSIDeviceFree(dev); + VIR_STEAL_PTR(ret, dev); return ret; } =20 @@ -281,21 +279,17 @@ virSCSIDeviceSetUsedBy(virSCSIDevicePtr dev, const char *drvname, const char *domname) { - virUsedByInfoPtr copy; + VIR_AUTOPTR(virUsedByInfo) copy =3D NULL; if (VIR_ALLOC(copy) < 0) return -1; if (VIR_STRDUP(copy->drvname, drvname) < 0 || VIR_STRDUP(copy->domname, domname) < 0) - goto cleanup; + return -1; =20 if (VIR_APPEND_ELEMENT(dev->used_by, dev->n_used_by, copy) < 0) - goto cleanup; + return -1; =20 return 0; - - cleanup: - virSCSIDeviceUsedByInfoFree(copy); - return -1; } =20 bool @@ -442,7 +436,6 @@ virSCSIDeviceListDel(virSCSIDeviceListPtr list, const char *drvname, const char *domname) { - virSCSIDevicePtr tmp =3D NULL; size_t i; =20 for (i =3D 0; i < dev->n_used_by; i++) { @@ -452,8 +445,8 @@ virSCSIDeviceListDel(virSCSIDeviceListPtr list, virSCSIDeviceUsedByInfoFree(dev->used_by[i]); VIR_DELETE_ELEMENT(dev->used_by, i, dev->n_used_by); } else { + VIR_AUTOPTR(virSCSIDevice) tmp =3D NULL; tmp =3D virSCSIDeviceListSteal(list, dev); - virSCSIDeviceFree(tmp); } break; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639158977702.085608584038; Thu, 26 Jul 2018 14:05:58 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 5C4A880F75; Thu, 26 Jul 2018 21:05: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 1D18E16D2F; Thu, 26 Jul 2018 21:05: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 C21481800B6E; Thu, 26 Jul 2018 21:05:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5dSg024988 for ; Thu, 26 Jul 2018 17:05:39 -0400 Received: by smtp.corp.redhat.com (Postfix) id D1C296017A; Thu, 26 Jul 2018 21:05:39 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1F7496017E for ; Thu, 26 Jul 2018 21:05:36 +0000 (UTC) Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 448ED22B for ; Thu, 26 Jul 2018 21:05:35 +0000 (UTC) Received: by mail-pf1-f174.google.com with SMTP id y10-v6so968919pfn.8 for ; Thu, 26 Jul 2018 14:05:35 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.32 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=n97fRF8BdbTJoXPACjTMh5Kdpzj1zhDMKmqBtjXcSpg=; b=SjP+RvynngboZJlqvv5Kgt2YjtdzQ1/oRTL4XghNponWNMiZ1uN2J+Cme0cOjzFjg8 iaE017kdbwlt4L8M4aEEucc4dPekASEq5IWD/SrKyHvgZWMjX7dVLg2/xNk/tFMNUmdA kUPHeCNP02Zjt0t0l6OjnRigiZHxBkJjKR7gu0dWvx/l3xwD+UP8z2LSyu5CpDZJvZaX AolWFef2AugYHd1zPitqEbJQusZfYc6i54tbh3qCnMZ6vrCXt6/w8e5iHcy2lIPmbVoB rZKi9vmXpzO+i8VYN86m5y2cgy2FPZ/3ytuo3S0wIcJYahh2I3eTrvACV5gSolVWPDNW 0K7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=n97fRF8BdbTJoXPACjTMh5Kdpzj1zhDMKmqBtjXcSpg=; b=CNFVGX9NsjtQJqvqMRzhnHGWAwOqqrigqQSVxqksBogzsHCkRZaAQW5UnwXPFlzHi+ bJ3QT/5GHwV+utpzq3g8PLh26OGeOpcaZB5BaWDgE0VJ1gwz6S09fhQuxzSR6v1LgASm JAq6jjJZsq5RgWG2Vcshaed2qAO+5NLVUXiWQYveO5Bpbu+8e+j+Z06ZM4MSRn+PK0s0 T09n2kA/Qp9WinODKiRdwz1ZGUXE+igR0svpjXeV4JiA4KnRNfX4dOI2jZfvZZGa/9KC yPjWbGmzHstAA4b7/y9ewgNoMpR/6Uul3Hclup0cOlMB44hTJ5GrgkJIRQp19ii/qntA c1OA== X-Gm-Message-State: AOUpUlG5FGwAa+3eWx78rdDkW4qBBF3hKmnE6Pv9+QoD+1Ijm/1HfxUh eoW0i2U/lOLTUawP3HTs79dbYqrO X-Google-Smtp-Source: AAOMgpedyI3om5wRQ7XNUBjBK+qG3r8krlQx7tU9aJxye5ZqHm8bwC2sYfVx80LSPeQyPCbJQTF0fQ== X-Received: by 2002:a62:d8c:: with SMTP id 12-v6mr3711468pfn.202.1532639134525; Thu, 26 Jul 2018 14:05:34 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:30 +0530 Message-Id: <1532447562-24010-30-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:35 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:35 +0000 (UTC) for IP:'209.85.210.174' DOMAIN:'mail-pf1-f174.google.com' HELO:'mail-pf1-f174.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.39 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.210.174 mail-pf1-f174.google.com 209.85.210.174 mail-pf1-f174.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 29/41] util: scsivhost: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 26 Jul 2018 21:05:55 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When a variable of type virSCSIVHostDevicePtr is declared using VIR_AUTOPTR, the function virSCSIVHostDeviceFree will be run automatically on it when it goes out of scope. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virscsivhost.c | 1 - src/util/virscsivhost.h | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/util/virscsivhost.c b/src/util/virscsivhost.c index 84c09e8..ef216b3 100644 --- a/src/util/virscsivhost.c +++ b/src/util/virscsivhost.c @@ -26,7 +26,6 @@ =20 #include "virscsivhost.h" #include "virlog.h" -#include "viralloc.h" #include "virerror.h" #include "virfile.h" #include "virstring.h" diff --git a/src/util/virscsivhost.h b/src/util/virscsivhost.h index 21887dd..31ad429 100644 --- a/src/util/virscsivhost.h +++ b/src/util/virscsivhost.h @@ -27,6 +27,7 @@ # include "internal.h" # include "virobject.h" # include "virutil.h" +# include "viralloc.h" =20 typedef struct _virSCSIVHostDevice virSCSIVHostDevice; typedef virSCSIVHostDevice *virSCSIVHostDevicePtr; @@ -63,4 +64,6 @@ void virSCSIVHostDeviceGetUsedBy(virSCSIVHostDevicePtr de= v, void virSCSIVHostDeviceFree(virSCSIVHostDevicePtr dev); int virSCSIVHostOpenVhostSCSI(int *vhostfd) ATTRIBUTE_NOINLINE; =20 +VIR_DEFINE_AUTOPTR_FUNC(virSCSIVHostDevice, virSCSIVHostDeviceFree) + #endif /* __VIR_SCSIHOST_H__ */ --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639142874233.12111405386418; Thu, 26 Jul 2018 14:05:42 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2A45730E6844; Thu, 26 Jul 2018 21:05: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 DF37B3001A70; Thu, 26 Jul 2018 21:05: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 8E5F724F64; Thu, 26 Jul 2018 21:05:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5cvd024978 for ; Thu, 26 Jul 2018 17:05:38 -0400 Received: by smtp.corp.redhat.com (Postfix) id 244C560C9A; Thu, 26 Jul 2018 21:05:38 +0000 (UTC) Received: from mx1.redhat.com (ext-mx14.extmail.prod.ext.phx2.redhat.com [10.5.110.43]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1ABDB60C80 for ; Thu, 26 Jul 2018 21:05:38 +0000 (UTC) Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 29E5D308FBA2 for ; Thu, 26 Jul 2018 21:05:37 +0000 (UTC) Received: by mail-pg1-f179.google.com with SMTP id r5-v6so1894748pgv.0 for ; Thu, 26 Jul 2018 14:05:37 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.34 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=sbWlC9MNiyeubz7ne1KG9lU90gKuJ09YxOq7q6pKuTM=; b=dAYqsbyxb4ITjBukTqMpZ3YzlJEj13SqHSClS2OTjJlDaAHqaYaMRE3n8ZChLiUIQu RUZcXcox3Y0wHTpNcD7uUv2rzF7TFcM2BBbNacS0FG/1hIpHXzbg+J9Jd6mwf0wRfRYb DcCNtidh8jS5EdQS4j/kYj24ActMDpXg3oYsO4pSTjchCkRH1q19a2rpVSY+Bi5KN+oS NZ3ZkoEyZQDm5wUf3uVGPnAcFzZ23ESLz/HhFFOK79w0jK6Mk7BduFp3i36hY29KMJA7 vb3mfawHFQfHVy05Vpjf8xQnPnYuBWQWrlyFjpNbYDA5A+MMVzM6t6EcOCDMGFRIkhMw ALzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=sbWlC9MNiyeubz7ne1KG9lU90gKuJ09YxOq7q6pKuTM=; b=Hrkg66gVFibx319J9IFEDRZNJMCKHS0CZVVYs89tVruNNW7GgV/PL3MK7YnS2WMWQ9 3LRcWcVM5X80tbyLy9gw66i3IlnHg7z/mJ+/CKyLinZ06aXZm02UnoiOi7zCXbGCWKxJ x0VxaBBNSbmn9Wjl/bd8yBo/bzkw4vkoQOWCuHpyknyq6iWz8ftUs2uvN3zkj4DMLqCN B7PcuYHnHYIh2YJnE08b3Xwq+64Ic1ujnB9QJRQadVfdbj293QBr8Zt3TvQVg0SA/yn8 q2TG5nhR77bcHLqHHsFMC5Gh7ghTjZL1Aea7Hqk/0neC/53YzPmb8Ohq/ByMam07+SpY oHLg== X-Gm-Message-State: AOUpUlGnsThaIEkNMrDGJX5il3Xu5f4qcnToUkloNU51Nnml1FxGw6Qf pvpSe9tePnr/cXL1qTIj1OizhPOV X-Google-Smtp-Source: AAOMgpdsvONHGSKGRmJnP2DYQghjXi3rvyT/KghyCEWWE6ADhFdMwWeaM722ezHZJ4fX0bDklUGEdw== X-Received: by 2002:a65:49c7:: with SMTP id t7-v6mr3410195pgs.23.1532639136402; Thu, 26 Jul 2018 14:05:36 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:31 +0530 Message-Id: <1532447562-24010-31-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Thu, 26 Jul 2018 21:05:37 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Thu, 26 Jul 2018 21:05:37 +0000 (UTC) for IP:'209.85.215.179' DOMAIN:'mail-pg1-f179.google.com' HELO:'mail-pg1-f179.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.39 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.179 mail-pg1-f179.google.com 209.85.215.179 mail-pg1-f179.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.43 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 30/41] util: scsivhost: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 26 Jul 2018 21:05:41 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virscsivhost.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/util/virscsivhost.c b/src/util/virscsivhost.c index ef216b3..280d0dc 100644 --- a/src/util/virscsivhost.c +++ b/src/util/virscsivhost.c @@ -109,8 +109,7 @@ void virSCSIVHostDeviceListDel(virSCSIVHostDeviceListPtr list, virSCSIVHostDevicePtr dev) { - virSCSIVHostDevicePtr tmp =3D virSCSIVHostDeviceListSteal(list, dev); - virSCSIVHostDeviceFree(tmp); + VIR_AUTOPTR(virSCSIVHostDevice) tmp =3D virSCSIVHostDeviceListSteal(li= st, dev); } =20 =20 @@ -253,7 +252,8 @@ virSCSIVHostDeviceGetPath(virSCSIVHostDevicePtr dev) virSCSIVHostDevicePtr virSCSIVHostDeviceNew(const char *name) { - virSCSIVHostDevicePtr dev; + VIR_AUTOPTR(virSCSIVHostDevice) dev =3D NULL; + virSCSIVHostDevicePtr ret =3D NULL; =20 if (VIR_ALLOC(dev) < 0) return NULL; @@ -262,22 +262,18 @@ virSCSIVHostDeviceNew(const char *name) virReportError(VIR_ERR_INTERNAL_ERROR, _("dev->name buffer overflow: %s"), name); - goto error; + return NULL; } =20 if (virAsprintf(&dev->path, "%s/%s", SYSFS_VHOST_SCSI_DEVICES, name) < 0) - goto error; + return NULL; =20 VIR_DEBUG("%s: initialized", dev->name); =20 - cleanup: - return dev; + VIR_STEAL_PTR(ret, dev); =20 - error: - virSCSIVHostDeviceFree(dev); - dev =3D NULL; - goto cleanup; + return ret; } =20 =20 --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 153263915882476.33414408926728; Thu, 26 Jul 2018 14:05:58 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id D37E030E6856; Thu, 26 Jul 2018 21:05:55 +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 85A2816D3A; Thu, 26 Jul 2018 21:05:55 +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 1D3D624F5E; Thu, 26 Jul 2018 21:05:55 +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 w6QL5q4H025059 for ; Thu, 26 Jul 2018 17:05:52 -0400 Received: by smtp.corp.redhat.com (Postfix) id 83FDC5D755; Thu, 26 Jul 2018 21:05:52 +0000 (UTC) Received: from mx1.redhat.com (ext-mx04.extmail.prod.ext.phx2.redhat.com [10.5.110.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 77C735D6A5 for ; Thu, 26 Jul 2018 21:05:40 +0000 (UTC) Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1B46E81119 for ; Thu, 26 Jul 2018 21:05:39 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id r5-v6so1894796pgv.0 for ; Thu, 26 Jul 2018 14:05:39 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=+wOLMSEb4wEI0LTnrPku6qwyAHW6O4Wf8TkqXX7wG2k=; b=sDQPpbqWjJEprygIy+u5ZYNxcIPCua0wqgC7CcOiBcuK3QUVewxt6UEdBarl7erxnm HMkM4+/hqIoSzU1jGnhQaiZg1x49R52bGCKneJGiv1arL5av1XJJSnx1/3S71ePMxUMb FYS6PCYo4VB0IRNxKIwVnxFk0P6tunjGxaxiU9FDRZhXIP/jr7k6+CwEqMUD7hvh6k14 wdQnQpNBKofir/S77YLLkyjO6cyL7UO7SiYeWtseEZ3n5CaUizLz73HbBX9PGgShEedV 0+6bwH9G8Wwzgy+xLSrLfQeoiEYmHWy76jg9ZP4Q6AaK5p05M34yXDn6rn471+2mmdGy Pl8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=+wOLMSEb4wEI0LTnrPku6qwyAHW6O4Wf8TkqXX7wG2k=; b=AXaOUd/9YMV67LVa+tdo4oFjvm8fIaBsbNUOUF846eTVEK2lJwXfz20f3wH1R8tucx IjvDKhrmF9hxAsQ4GjHozdRb0NJxbH3bTqhVI2Oy7BwQ9ateqMypPqya1aD6Li6cQ408 ZHQQU5NZbtt5Ib94q3/hbtgA2yhJYRlvcwenr8YO7BfxXJ4MHqNGHsty+G3IcOQMvJ45 KLdpR7ogLAdsCaIvY0+jrTOMpz6sjP7lLz+u+T+DxhBJ4mHzkgSp4xeApW6sq08Yc2PI SrbCz6FnBpIGCC8I2ZmM52uMOuMq/2guqtvycxITKuIsymuVRpkUYKMevlbW1UgoW+hj Idow== X-Gm-Message-State: AOUpUlFCfJTqN70VCrDD2zySNo/RGzqCkPN9lQY3QkAZNkr1bpKhRFrR XRQdEbRXGTPuZVO8+VQKOHgqswhr X-Google-Smtp-Source: AAOMgpfiHmLdEX84WgY2VqftA5VTRWP+DibuKyDy9TxIAyqLvTxDp6jKGQ0c8sdOf+6mfODI3EkIuQ== X-Received: by 2002:a62:ee06:: with SMTP id e6-v6mr3703008pfi.2.1532639138390; Thu, 26 Jul 2018 14:05:38 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:32 +0530 Message-Id: <1532447562-24010-32-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 26 Jul 2018 21:05:39 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 26 Jul 2018 21:05:39 +0000 (UTC) for IP:'209.85.215.194' DOMAIN:'mail-pg1-f194.google.com' HELO:'mail-pg1-f194.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.194 mail-pg1-f194.google.com 209.85.215.194 mail-pg1-f194.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.28 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 31/41] util: netdevvlan: define cleanup function using VIR_DEFINE_AUTOPTR_FUNC 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 26 Jul 2018 21:05:56 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using the new VIR_DEFINE_AUTOPTR_FUNC macro defined in src/util/viralloc.h, define a new wrapper around an existing cleanup function which will be called when a variable declared with VIR_AUTOPTR macro goes out of scope. Also, drop the redundant viralloc.h include, since that has moved from the source module into the header. When a variable of type virNetDevVlanPtr is declared using VIR_AUTOPTR, the function virNetDevVlanFree will be run automatically on it when it goes out of scope. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virnetdevvlan.c | 1 - src/util/virnetdevvlan.h | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/util/virnetdevvlan.c b/src/util/virnetdevvlan.c index 4c8bce5..0afc47b 100644 --- a/src/util/virnetdevvlan.c +++ b/src/util/virnetdevvlan.c @@ -24,7 +24,6 @@ #include "internal.h" #include "virerror.h" #include "virnetdevvlan.h" -#include "viralloc.h" =20 #define VIR_FROM_THIS VIR_FROM_NONE =20 diff --git a/src/util/virnetdevvlan.h b/src/util/virnetdevvlan.h index 7f63626..be85f59 100644 --- a/src/util/virnetdevvlan.h +++ b/src/util/virnetdevvlan.h @@ -23,6 +23,8 @@ =20 # include =20 +# include "viralloc.h" + typedef enum { VIR_NATIVE_VLAN_MODE_DEFAULT =3D 0, VIR_NATIVE_VLAN_MODE_TAGGED, @@ -48,4 +50,6 @@ void virNetDevVlanFree(virNetDevVlanPtr vlan); int virNetDevVlanEqual(const virNetDevVlan *a, const virNetDevVlan *b); int virNetDevVlanCopy(virNetDevVlanPtr dst, const virNetDevVlan *src); =20 +VIR_DEFINE_AUTOPTR_FUNC(virNetDevVlan, virNetDevVlanFree) + #endif /* __VIR_NETDEV_VLAN_H__ */ --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639492090137.75993241269362; Thu, 26 Jul 2018 14:11:32 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 077E23086262; Thu, 26 Jul 2018 21:11:30 +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 7972F63132; Thu, 26 Jul 2018 21:11: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 79D7B4A465; Thu, 26 Jul 2018 21:11:28 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QLBNTJ027870 for ; Thu, 26 Jul 2018 17:11:23 -0400 Received: by smtp.corp.redhat.com (Postfix) id 82326CDFB7; Thu, 26 Jul 2018 21:11:23 +0000 (UTC) Received: from mx1.redhat.com (ext-mx20.extmail.prod.ext.phx2.redhat.com [10.5.110.49]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D8B63CE23F for ; Thu, 26 Jul 2018 21:05:42 +0000 (UTC) Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 19E4C3086262 for ; Thu, 26 Jul 2018 21:05:41 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id y5-v6so1889791pgv.1 for ; Thu, 26 Jul 2018 14:05:41 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.38 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=wyzIetLjvJmYQCPMC2kOgiUPwV6GwoOEndQQyyBye2A=; b=Q4trJ+Ad5440KXgZ9uovEAGNnCcfyRGMWuBsfxcc1TnhJQAHHbQFRJ05WnG0l1isaX jPC7yICPZiRFIlq62CVwO+poJXlmdCjix8wNmGPbHe1jcXr4GIHA/ROqP93E6kAqrsJh smzlOUEYLf3JiZokGvD2eue1YhFwgFtL2kCr5CqtWzktkKN50qaT4ujxqCFJ4IYj/frj JBELjyRt6qwk1POP5fCUmHLcgKB+GaJGCpoKoHk7xNKPkU01Wl/xGJF4ssqzZ8YQt9pb zA4NeyWXdwJWgsbFu08jcNs+QfS2/x5qbWQbTjoZezLe6fxgLPp4fbnZA/Nj7wuNWDlo vajA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=wyzIetLjvJmYQCPMC2kOgiUPwV6GwoOEndQQyyBye2A=; b=oAiSEJBr3CXRzwbB7GK1cnkeSBLoIFBNun4bOkE81DCP+l6+xaBoQuIXYXzU17jpQJ 7aBaXW659i+KyFbeHfAySPjeO1AezfrXja/FsqAJJ2zXNXHRn0wGc5DhB3XxnGI0wN5m Snd7VTTWkG6OynFUidpICwPOjIvXmiH8KyKAGjEjKqO4V2LVrpQN8JXpSMJb50zoRDYm /vHmIBj3Km484jZVlW5DISIOJ5bzggj7R54iSW4XUOAQrtduk31QvJff/n5TZq98I1oR dSeX3XSQrpyoJXoFKxfn70oBo2aCL74/jVnnxsLhpu6GhBIAk8iI+OCrN5JqwHnWDbly Az0w== X-Gm-Message-State: AOUpUlGb917/PnMixd5LW/ICbt7opAFoWZYO4Wok60SZbh47L3bk2iMh FCZbVgdhT9Hzx0gwEATDLPJGM8EP X-Google-Smtp-Source: AAOMgpdMI2N31vPbeKNwzKKevtQNI/uZkRGtmYy3pMTZDIAxsKsF3VswUfcH1uyOCSOFfTzM2E3qjw== X-Received: by 2002:a62:dc1d:: with SMTP id t29-v6mr3726504pfg.244.1532639140327; Thu, 26 Jul 2018 14:05:40 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:33 +0530 Message-Id: <1532447562-24010-33-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:05:41 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:05:41 +0000 (UTC) for IP:'209.85.215.194' DOMAIN:'mail-pg1-f194.google.com' HELO:'mail-pg1-f194.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.194 mail-pg1-f194.google.com 209.85.215.194 mail-pg1-f194.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.49 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.27 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 32/41] util: hostdev: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:11:30 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virhostdev.c | 91 +++++++++++++++++------------------------------= ---- 1 file changed, 30 insertions(+), 61 deletions(-) diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c index d5075ac..492c42f 100644 --- a/src/util/virhostdev.c +++ b/src/util/virhostdev.c @@ -186,17 +186,14 @@ virHostdevManagerNew(void) goto error; } } else { - char *rundir =3D NULL; + VIR_AUTOFREE(char *) rundir =3D NULL; mode_t old_umask; =20 if (!(rundir =3D virGetUserRuntimeDirectory())) goto error; =20 - if (virAsprintf(&hostdevMgr->stateDir, "%s/hostdevmgr", rundir) < = 0) { - VIR_FREE(rundir); + if (virAsprintf(&hostdevMgr->stateDir, "%s/hostdevmgr", rundir) < = 0) goto error; - } - VIR_FREE(rundir); =20 old_umask =3D umask(077); =20 @@ -289,17 +286,12 @@ virHostdevPCISysfsPath(virDomainHostdevDefPtr hostdev, static int virHostdevIsVirtualFunction(virDomainHostdevDefPtr hostdev) { - char *sysfs_path =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) sysfs_path =3D NULL; =20 if (virHostdevPCISysfsPath(hostdev, &sysfs_path) < 0) - return ret; + return -1; =20 - ret =3D virPCIIsVirtualFunction(sysfs_path); - - VIR_FREE(sysfs_path); - - return ret; + return virPCIIsVirtualFunction(sysfs_path); } =20 =20 @@ -309,17 +301,15 @@ virHostdevNetDevice(virDomainHostdevDefPtr hostdev, char **linkdev, int *vf) { - int ret =3D -1; - char *sysfs_path =3D NULL; + VIR_AUTOFREE(char *) sysfs_path =3D NULL; =20 if (virHostdevPCISysfsPath(hostdev, &sysfs_path) < 0) - return ret; + return -1; =20 if (virPCIIsVirtualFunction(sysfs_path) =3D=3D 1) { if (virPCIGetVirtualFunctionInfo(sysfs_path, pfNetDevIdx, - linkdev, vf) < 0) { - goto cleanup; - } + linkdev, vf) < 0) + return -1; } else { /* In practice this should never happen, since we currently * only support assigning SRIOV VFs via parent.data.net); virtPort =3D virDomainNetGetActualVirtPortProfile(hostdev->parent.data= .net); @@ -507,24 +487,19 @@ virHostdevSetNetConfig(virDomainHostdevDefPtr hostdev, _("direct setting of the vlan tag is not allowe= d " "for hostdev devices using %s mode"), virNetDevVPortTypeToString(virtPort->virtPortTy= pe)); - goto cleanup; + return -1; } if (virHostdevNetConfigVirtPortProfile(linkdev, vf, virtPort, &hostdev->parent.data.net->= mac, - uuid, port_profile_associat= e) < 0) { - goto cleanup; - } + uuid, port_profile_associat= e) < 0) + return -1; } else { if (virNetDevSetNetConfig(linkdev, vf, &hostdev->parent.data.net->= mac, - vlan, NULL, true) < 0) { - goto cleanup; - } + vlan, NULL, true) < 0) + return -1; } =20 - ret =3D 0; - cleanup: - VIR_FREE(linkdev); - return ret; + return 0; } =20 =20 @@ -540,13 +515,13 @@ virHostdevRestoreNetConfig(virDomainHostdevDefPtr hos= tdev, const char *stateDir, const char *oldStateDir) { - char *linkdev =3D NULL; + VIR_AUTOFREE(char *) linkdev =3D NULL; + VIR_AUTOFREE(virMacAddrPtr) MAC =3D NULL; + VIR_AUTOFREE(virMacAddrPtr) adminMAC =3D NULL; virNetDevVPortProfilePtr virtPort; int ret =3D -1; int vf =3D -1; bool port_profile_associate =3D false; - virMacAddrPtr MAC =3D NULL; - virMacAddrPtr adminMAC =3D NULL; virNetDevVlanPtr vlan =3D NULL; =20 =20 @@ -656,9 +631,6 @@ virHostdevRestoreNetConfig(virDomainHostdevDefPtr hostd= ev, } =20 cleanup: - VIR_FREE(linkdev); - VIR_FREE(MAC); - VIR_FREE(adminMAC); virNetDevVlanFree(vlan); =20 return ret; @@ -763,8 +735,8 @@ virHostdevPreparePCIDevices(virHostdevManagerPtr mgr, mgr->inactivePCIHostdevs) < 0) goto reattachdevs; } else { - char *driverPath; - char *driverName; + VIR_AUTOFREE(char *) driverPath =3D NULL; + VIR_AUTOFREE(char *) driverName =3D NULL; int stub; =20 /* Unmanaged devices should already have been marked as @@ -790,9 +762,6 @@ virHostdevPreparePCIDevices(virHostdevManagerPtr mgr, =20 stub =3D virPCIStubDriverTypeFromString(driverName); =20 - VIR_FREE(driverPath); - VIR_FREE(driverName); - if (stub > VIR_PCI_STUB_DRIVER_NONE && stub < VIR_PCI_STUB_DRIVER_LAST) { =20 --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639152791558.5769336159414; Thu, 26 Jul 2018 14:05:52 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id C951930832E2; Thu, 26 Jul 2018 21:05:50 +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 8217D100164C; Thu, 26 Jul 2018 21:05:50 +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 1E1D01800B71; Thu, 26 Jul 2018 21:05:50 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5ne5025037 for ; Thu, 26 Jul 2018 17:05:49 -0400 Received: by smtp.corp.redhat.com (Postfix) id 2F7D46017E; Thu, 26 Jul 2018 21:05:49 +0000 (UTC) Received: from mx1.redhat.com (ext-mx17.extmail.prod.ext.phx2.redhat.com [10.5.110.46]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 24AAD60177 for ; Thu, 26 Jul 2018 21:05:44 +0000 (UTC) Received: from mail-pl0-f68.google.com (mail-pl0-f68.google.com [209.85.160.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 296D33001768 for ; Thu, 26 Jul 2018 21:05:43 +0000 (UTC) Received: by mail-pl0-f68.google.com with SMTP id f6-v6so1351045plo.1 for ; Thu, 26 Jul 2018 14:05:43 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.40 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=GOWS4nNPlHqtmvZ3uIeEEia9+jmvqr15cQJJa07uw1w=; b=hd758E/OdQy4qVqP3yYUSEOrb6p1eVQQdpFysESyU1KcudBJe8iTYbi+bIk14BD2ye baxU4s2rwY5FGTB5sa7oOTRYJd8T0oJsTyDk7j4EQg8zW/V7Lzv44gHcWyk/mpjtHaxX iu73xZVKM3Wl3G1Zu4CbJXEfLuyj5p+hKu5B4OZPGEjKgW5vu9c2lWkElYo2+K2H1Ers vmBlNosQDVMKa97OdwI2KMAFyaebYybDlD4jwgxgruiAfJ+4i0ha0b1TF5nV9xbrEqRK ZLhiYA5w5oNGHgaAB+gT9Yj7z94sR9+kfNlqMh8mt4PW1n6Uo1aT4xG8NHFT6oKseDRY LS1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=GOWS4nNPlHqtmvZ3uIeEEia9+jmvqr15cQJJa07uw1w=; b=VjEKcb+FtJKs9KMaYyBqruJ30+Vq3L5X4FWYK0mQUzhUU+sDxrOmjLEBHidYcJQAsP yLHqJKH/eIGvZrBousSdtdp/ROesDSROZiejg+Owc+Umki45KciyUNQw6I+P8axJBIT5 c7oLds9WnUYn70daS6MYlW4T/Jj7GOw1qrLnqaGht8hNm91SSTLfc5i9WkajVkfssfoa ZNLQh7IYtSdeWVG/Gz786bHY2e0IoNHutepzsHH9fyyNgDHLNjDRPo5BpExi/oWQH3yL wN/sLsJuJ8raVEK4xTp+PlBXUkTUprsuvdoq29tbHJXeJQ7gQvvyccn2fCmWoDjbdqMC AYSg== X-Gm-Message-State: AOUpUlG9xnLXKPNW18u/tlmfBPaPeYWeLKt3FBfZ/FLCC7l8dBWiV6Z2 wQNyQaHUJLtrJXW5C6F1/C/tRBDV X-Google-Smtp-Source: AAOMgpfwL17Qz9WD24VpOBwmN3Vozy3DVbIvXEVFB/iVW/7CyXbbPYuX5ygkc2M4TPehz+iwDugGGg== X-Received: by 2002:a17:902:b412:: with SMTP id x18-v6mr1427177plr.203.1532639142204; Thu, 26 Jul 2018 14:05:42 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:34 +0530 Message-Id: <1532447562-24010-34-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 26 Jul 2018 21:05:43 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 26 Jul 2018 21:05:43 +0000 (UTC) for IP:'209.85.160.68' DOMAIN:'mail-pl0-f68.google.com' HELO:'mail-pl0-f68.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.68 mail-pl0-f68.google.com 209.85.160.68 mail-pl0-f68.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.46 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 33/41] util: hostdev: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.44]); Thu, 26 Jul 2018 21:05:51 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virhostdev.c | 71 ++++++++++++++++++-----------------------------= ---- 1 file changed, 25 insertions(+), 46 deletions(-) diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c index 492c42f..ca79c37 100644 --- a/src/util/virhostdev.c +++ b/src/util/virhostdev.c @@ -518,11 +518,10 @@ virHostdevRestoreNetConfig(virDomainHostdevDefPtr hos= tdev, VIR_AUTOFREE(char *) linkdev =3D NULL; VIR_AUTOFREE(virMacAddrPtr) MAC =3D NULL; VIR_AUTOFREE(virMacAddrPtr) adminMAC =3D NULL; + VIR_AUTOPTR(virNetDevVlan) vlan =3D NULL; virNetDevVPortProfilePtr virtPort; - int ret =3D -1; int vf =3D -1; bool port_profile_associate =3D false; - virNetDevVlanPtr vlan =3D NULL; =20 =20 /* This is only needed for PCI devices that have been defined @@ -535,16 +534,16 @@ virHostdevRestoreNetConfig(virDomainHostdevDefPtr hos= tdev, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Interface type hostdev is currently supported on" " SR-IOV Virtual Functions only")); - return ret; + return -1; } =20 if (virHostdevNetDevice(hostdev, 0, &linkdev, &vf) < 0) - return ret; + return -1; =20 virtPort =3D virDomainNetGetActualVirtPortProfile( hostdev->parent.data.net); if (virtPort) { - ret =3D virHostdevNetConfigVirtPortProfile(linkdev, vf, virtPort, + return virHostdevNetConfigVirtPortProfile(linkdev, vf, virtPort, &hostdev->parent.data.net= ->mac, NULL, port_profile_associate); @@ -574,7 +573,7 @@ virHostdevRestoreNetConfig(virDomainHostdevDefPtr hostd= ev, /* 1) standard location */ if (virNetDevReadNetConfig(linkdev, vf, stateDir, &adminMAC, &vlan, &MAC) < 0) { - goto cleanup; + return -1; } =20 /* 2) "old" (pre-1.2.3 circa 2014) location - whenever we get @@ -585,7 +584,7 @@ virHostdevRestoreNetConfig(virDomainHostdevDefPtr hostd= ev, if (!(adminMAC || vlan || MAC) && oldStateDir && virNetDevReadNetConfig(linkdev, vf, oldStateDir, &adminMAC, &vlan, &MAC) < 0) { - goto cleanup; + return -1; } =20 /* 3) try using the PF's "port 2" netdev as the name of the @@ -597,7 +596,7 @@ virHostdevRestoreNetConfig(virDomainHostdevDefPtr hostd= ev, if (virHostdevNetDevice(hostdev, 1, &linkdev, &vf) < 0 || virNetDevReadNetConfig(linkdev, vf, stateDir, &adminMAC, &vlan, &MAC) < 0) { - goto cleanup; + return -1; } } =20 @@ -627,13 +626,8 @@ virHostdevRestoreNetConfig(virDomainHostdevDefPtr host= dev, =20 ignore_value(virNetDevSetNetConfig(linkdev, vf, adminMAC, vlan, MAC, true)); - ret =3D 0; + return 0; } - - cleanup: - virNetDevVlanFree(vlan); - - return ret; } =20 int @@ -1117,7 +1111,6 @@ virHostdevUpdateActivePCIDevices(virHostdevManagerPtr= mgr, const char *dom_name) { virDomainHostdevDefPtr hostdev =3D NULL; - virPCIDevicePtr actual =3D NULL; size_t i; int ret =3D -1; =20 @@ -1128,6 +1121,7 @@ virHostdevUpdateActivePCIDevices(virHostdevManagerPtr= mgr, virObjectLock(mgr->inactivePCIHostdevs); =20 for (i =3D 0; i < nhostdevs; i++) { + VIR_AUTOPTR(virPCIDevice) actual =3D NULL; virDomainHostdevSubsysPCIPtr pcisrc; hostdev =3D hostdevs[i]; pcisrc =3D &hostdev->source.subsys.u.pci; @@ -1165,7 +1159,6 @@ virHostdevUpdateActivePCIDevices(virHostdevManagerPtr= mgr, =20 ret =3D 0; cleanup: - virPCIDeviceFree(actual); virObjectUnlock(mgr->activePCIHostdevs); virObjectUnlock(mgr->inactivePCIHostdevs); return ret; @@ -1226,31 +1219,27 @@ virHostdevUpdateActiveSCSIHostDevices(virHostdevMan= agerPtr mgr, virDomainHostdevSubsysSCSIHostPtr scsihostsrc =3D &scsisrc->u.host; virSCSIDevicePtr scsi =3D NULL; virSCSIDevicePtr tmp =3D NULL; - int ret =3D -1; =20 if (!(scsi =3D virSCSIDeviceNew(NULL, scsihostsrc->adapter, scsihostsrc->bus, scsihostsrc->target, scsihostsrc->unit, hostdev->readonly, hostdev->shareable))) - goto cleanup; + return -1; =20 if ((tmp =3D virSCSIDeviceListFind(mgr->activeSCSIHostdevs, scsi))) { if (virSCSIDeviceSetUsedBy(tmp, drv_name, dom_name) < 0) { virSCSIDeviceFree(scsi); - goto cleanup; + return -1; } virSCSIDeviceFree(scsi); } else { if (virSCSIDeviceSetUsedBy(scsi, drv_name, dom_name) < 0 || virSCSIDeviceListAdd(mgr->activeSCSIHostdevs, scsi) < 0) { virSCSIDeviceFree(scsi); - goto cleanup; + return -1; } } - ret =3D 0; - - cleanup: - return ret; + return 0; } =20 int @@ -1301,7 +1290,7 @@ virHostdevUpdateActiveMediatedDevices(virHostdevManag= erPtr mgr, { int ret =3D -1; size_t i; - virMediatedDevicePtr mdev =3D NULL; + VIR_AUTOPTR(virMediatedDevice) mdev =3D NULL; =20 if (nhostdevs =3D=3D 0) return 0; @@ -1327,7 +1316,6 @@ virHostdevUpdateActiveMediatedDevices(virHostdevManag= erPtr mgr, =20 ret =3D 0; cleanup: - virMediatedDeviceFree(mdev); virObjectUnlock(mgr->activeMediatedHostdevs); return ret; } @@ -1560,29 +1548,25 @@ virHostdevPrepareSCSIHostDevices(virDomainHostdevDe= fPtr hostdev, { virDomainHostdevSubsysSCSIHostPtr scsihostsrc =3D &scsisrc->u.host; virSCSIDevicePtr scsi; - int ret =3D -1; =20 if (hostdev->managed) { virReportError(VIR_ERR_XML_ERROR, "%s", _("SCSI host device doesn't support managed mode")); - goto cleanup; + return -1; } =20 if (!(scsi =3D virSCSIDeviceNew(NULL, scsihostsrc->adapter, scsihostsrc->bus, scsihostsrc->target, scsihostsrc->unit, hostdev->readonly, hostdev->shareable))) - goto cleanup; + return -1; =20 if (virSCSIDeviceListAdd(list, scsi) < 0) { virSCSIDeviceFree(scsi); - goto cleanup; + return -1; } =20 - ret =3D 0; - - cleanup: - return ret; + return 0; } =20 int @@ -1859,7 +1843,8 @@ virHostdevReAttachUSBDevices(virHostdevManagerPtr mgr, for (i =3D 0; i < nhostdevs; i++) { virDomainHostdevDefPtr hostdev =3D hostdevs[i]; virDomainHostdevSubsysUSBPtr usbsrc =3D &hostdev->source.subsys.u.= usb; - virUSBDevicePtr usb, tmp; + VIR_AUTOPTR(virUSBDevice) usb =3D NULL; + virUSBDevicePtr tmp; const char *usedby_drvname; const char *usedby_domname; =20 @@ -1883,7 +1868,6 @@ virHostdevReAttachUSBDevices(virHostdevManagerPtr mgr, * the list which were taken by @name */ =20 tmp =3D virUSBDeviceListFind(mgr->activeUSBHostdevs, usb); - virUSBDeviceFree(usb); =20 if (!tmp) { VIR_WARN("Unable to find device %03d.%03d " @@ -1911,7 +1895,7 @@ virHostdevReAttachSCSIHostDevices(virHostdevManagerPt= r mgr, const char *dom_name) { virDomainHostdevSubsysSCSIHostPtr scsihostsrc =3D &scsisrc->u.host; - virSCSIDevicePtr scsi; + VIR_AUTOPTR(virSCSIDevice) scsi =3D NULL; virSCSIDevicePtr tmp; =20 if (!(scsi =3D virSCSIDeviceNew(NULL, @@ -1932,7 +1916,6 @@ virHostdevReAttachSCSIHostDevices(virHostdevManagerPt= r mgr, "in list of active SCSI devices", scsihostsrc->adapter, scsihostsrc->bus, scsihostsrc->target, scsihostsrc->unit); - virSCSIDeviceFree(scsi); return; } =20 @@ -1942,7 +1925,6 @@ virHostdevReAttachSCSIHostDevices(virHostdevManagerPt= r mgr, =20 virSCSIDeviceListDel(mgr->activeSCSIHostdevs, tmp, drv_name, dom_name); - virSCSIDeviceFree(scsi); } =20 void @@ -1982,14 +1964,14 @@ virHostdevReAttachSCSIVHostDevices(virHostdevManage= rPtr mgr, int nhostdevs) { size_t i; - virSCSIVHostDevicePtr host, tmp; - =20 if (!nhostdevs) return; =20 virObjectLock(mgr->activeSCSIVHostHostdevs); for (i =3D 0; i < nhostdevs; i++) { + VIR_AUTOPTR(virSCSIVHostDevice) host =3D NULL; + virSCSIVHostDevicePtr tmp; virDomainHostdevDefPtr hostdev =3D hostdevs[i]; virDomainHostdevSubsysSCSIVHostPtr hostsrc =3D &hostdev->source.su= bsys.u.scsi_host; const char *usedby_drvname; @@ -2017,7 +1999,6 @@ virHostdevReAttachSCSIVHostDevices(virHostdevManagerP= tr mgr, VIR_WARN("Unable to find device %s " "in list of active SCSI_host devices", hostsrc->wwpn); - virSCSIVHostDeviceFree(host); virObjectUnlock(mgr->activeSCSIVHostHostdevs); return; } @@ -2031,8 +2012,6 @@ virHostdevReAttachSCSIVHostDevices(virHostdevManagerP= tr mgr, =20 virSCSIVHostDeviceListDel(mgr->activeSCSIVHostHostdevs, tmp); } - - virSCSIVHostDeviceFree(host); } virObjectUnlock(mgr->activeSCSIVHostHostdevs); } @@ -2060,7 +2039,8 @@ virHostdevReAttachMediatedDevices(virHostdevManagerPt= r mgr, =20 virObjectLock(mgr->activeMediatedHostdevs); for (i =3D 0; i < nhostdevs; i++) { - virMediatedDevicePtr mdev, tmp; + VIR_AUTOPTR(virMediatedDevice) mdev =3D NULL; + virMediatedDevicePtr tmp; virDomainHostdevSubsysMediatedDevPtr mdevsrc; virDomainHostdevDefPtr hostdev =3D hostdevs[i]; =20 @@ -2076,7 +2056,6 @@ virHostdevReAttachMediatedDevices(virHostdevManagerPt= r mgr, /* Remove from the list only mdevs assigned to @drv_name/@dom_name= */ =20 tmp =3D virMediatedDeviceListFind(mgr->activeMediatedHostdevs, mde= v); - virMediatedDeviceFree(mdev); =20 /* skip inactive devices */ if (!tmp) --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 15326391629131001.0851823642405; Thu, 26 Jul 2018 14:06:02 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 106BA3084053; Thu, 26 Jul 2018 21:06:01 +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 A33E960C9A; Thu, 26 Jul 2018 21:06:00 +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 2F3CE1800B77; Thu, 26 Jul 2018 21:06:00 +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 w6QL5qpQ025064 for ; Thu, 26 Jul 2018 17:05:52 -0400 Received: by smtp.corp.redhat.com (Postfix) id A180A5D750; Thu, 26 Jul 2018 21:05:52 +0000 (UTC) Received: from mx1.redhat.com (ext-mx11.extmail.prod.ext.phx2.redhat.com [10.5.110.40]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9628F5D6A5 for ; Thu, 26 Jul 2018 21:05:52 +0000 (UTC) Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E13DC3084051 for ; Thu, 26 Jul 2018 21:05:44 +0000 (UTC) Received: by mail-pg1-f181.google.com with SMTP id f1-v6so1876401pgq.12 for ; Thu, 26 Jul 2018 14:05:44 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.42 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=0/U6X9PGjT7KCXpDmFXlDYr9tnkwv90tvmfCZLAke7A=; b=OhY9rVTQJEBk3QvXVkF2DujVm5IoFxvTAETRDQRuGCoWShJ5b6xhikTplNSejy6BQY 39mUGVK+toruUlwtLFDKv+g35Tu7n8W14B53plJ5wgBt/y7SwbEnSe20YoH3VmqXlV9Q 3IJvNmWQVdZYJCHxiJyqvIN95K8bCd8jla1MZ1QlQ2C+30Xqt4G6BP5ha1vglHNIhFvo tDnrKWWHb6i+fwK1t2tny0xBfDxUpkYt9C0rxUtjMBO3rLLzngIn/Lh5GixdPEHthy3D iNv87j/vlwi9i3l8QGusAW5Qvr4TGnttdzkYN1bwiMCHX+5ManiT9Vu/vPh9OmcS4ekH rhug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=0/U6X9PGjT7KCXpDmFXlDYr9tnkwv90tvmfCZLAke7A=; b=F0axEqoGymBhzSjhM/urYAiYvxkahSYcTZB3dQaqNvYBStQvVJDSRtaDKVENYlBUT+ 0Ku7HK/a3B++zY4Yu6FaAa4qBhf0PgN1Nn60MkzsODYXD5SatErZ6Sc88TcmTsvk8Jex 3zPfcZWKmpLG+WmulakWQV4/2YYLxkxrrB5AV4+kOSKbg9yvlG+yG5EhgyncdH8O+JBx 4PXeGQ+z8q7g4EEbSS3odnSy5FeY5JQFANGM/eQBPsn1xqfb3EqPQRl1oEQ2zuDFT5cn i2ieulwfVpCvPdzVyib0Y77ciY+YryO3xerrZFsFdFR906PliEwg2hokHFW69GDaBvBl m+4g== X-Gm-Message-State: AOUpUlFUK28nRZLBkjxrevwrwh4Foa7lYhYiffwgcIOB677wOlW84Xo0 dhD1ek9xwis8svQxisdgF77QGWxk X-Google-Smtp-Source: AAOMgpc0m0xuzKXR+0m7wJTrx9KJWCK8K8wLGFzU4n+cjqLIa+8Z1k6T7CVgDu175N436tGwAIsESw== X-Received: by 2002:a65:4c41:: with SMTP id l1-v6mr3435840pgr.310.1532639144134; Thu, 26 Jul 2018 14:05:44 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:35 +0530 Message-Id: <1532447562-24010-35-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:05:51 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:05:51 +0000 (UTC) for IP:'209.85.215.181' DOMAIN:'mail-pg1-f181.google.com' HELO:'mail-pg1-f181.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.181 mail-pg1-f181.google.com 209.85.215.181 mail-pg1-f181.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.40 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 34/41] util: hostmem: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Thu, 26 Jul 2018 21:06:01 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virhostmem.c | 57 ++++++++++++++++-------------------------------= ---- 1 file changed, 18 insertions(+), 39 deletions(-) diff --git a/src/util/virhostmem.c b/src/util/virhostmem.c index c923a1e..08ed7a5 100644 --- a/src/util/virhostmem.c +++ b/src/util/virhostmem.c @@ -263,7 +263,7 @@ virHostMemGetStats(int cellNum ATTRIBUTE_UNUSED, #ifdef __linux__ { int ret; - char *meminfo_path =3D NULL; + VIR_AUTOFREE(char *) meminfo_path =3D NULL; FILE *meminfo; int max_node; =20 @@ -299,12 +299,10 @@ virHostMemGetStats(int cellNum ATTRIBUTE_UNUSED, if (!meminfo) { virReportSystemError(errno, _("cannot open %s"), meminfo_path); - VIR_FREE(meminfo_path); return -1; } ret =3D virHostMemGetStatsLinux(meminfo, cellNum, params, nparams); VIR_FORCE_FCLOSE(meminfo); - VIR_FREE(meminfo_path); =20 return ret; } @@ -322,45 +320,36 @@ virHostMemGetStats(int cellNum ATTRIBUTE_UNUSED, static int virHostMemSetParameterValue(virTypedParameterPtr param) { - char *path =3D NULL; - char *strval =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) path =3D NULL; + VIR_AUTOFREE(char *) strval =3D NULL; int rc =3D -1; =20 char *field =3D strchr(param->field, '_'); sa_assert(field); field++; if (virAsprintf(&path, "%s/%s", - SYSFS_MEMORY_SHARED_PATH, field) < 0) { - ret =3D -2; - goto cleanup; - } + SYSFS_MEMORY_SHARED_PATH, field) < 0) + return -2; =20 - if (virAsprintf(&strval, "%u", param->value.ui) =3D=3D -1) { - ret =3D -2; - goto cleanup; - } + if (virAsprintf(&strval, "%u", param->value.ui) =3D=3D -1) + return -2; =20 if ((rc =3D virFileWriteStr(path, strval, 0)) < 0) { virReportSystemError(-rc, _("failed to set %s"), param->field); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - VIR_FREE(path); - VIR_FREE(strval); - return ret; + return 0; } =20 static bool virHostMemParametersAreAllSupported(virTypedParameterPtr params, int nparams) { - char *path =3D NULL; size_t i; =20 for (i =3D 0; i < nparams; i++) { + VIR_AUTOFREE(char *) path =3D NULL; virTypedParameterPtr param =3D ¶ms[i]; =20 char *field =3D strchr(param->field, '_'); @@ -374,11 +363,8 @@ virHostMemParametersAreAllSupported(virTypedParameterP= tr params, virReportError(VIR_ERR_OPERATION_INVALID, _("Parameter '%s' is not supported by " "this kernel"), param->field); - VIR_FREE(path); return false; } - - VIR_FREE(path); } =20 return true; @@ -430,23 +416,20 @@ static int virHostMemGetParameterValue(const char *field, void *value) { - char *path =3D NULL; - char *buf =3D NULL; + VIR_AUTOFREE(char *) path =3D NULL; + VIR_AUTOFREE(char *) buf =3D NULL; char *tmp =3D NULL; - int ret =3D -1; int rc =3D -1; =20 if (virAsprintf(&path, "%s/%s", SYSFS_MEMORY_SHARED_PATH, field) < 0) - goto cleanup; + return -1; =20 - if (!virFileExists(path)) { - ret =3D -2; - goto cleanup; - } + if (!virFileExists(path)) + return -2; =20 if (virFileReadAll(path, 1024, &buf) < 0) - goto cleanup; + return -1; =20 if ((tmp =3D strchr(buf, '\n'))) *tmp =3D '\0'; @@ -465,14 +448,10 @@ virHostMemGetParameterValue(const char *field, if (rc < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to parse %s"), field); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - VIR_FREE(path); - VIR_FREE(buf); - return ret; + return 0; } #endif =20 --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 153263916102115.030229980960257; Thu, 26 Jul 2018 14:06:01 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3726A85A05; Thu, 26 Jul 2018 21:05:59 +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 020563001A58; Thu, 26 Jul 2018 21:05:59 +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 A14C024C26; Thu, 26 Jul 2018 21:05:58 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5ubX025110 for ; Thu, 26 Jul 2018 17:05:56 -0400 Received: by smtp.corp.redhat.com (Postfix) id D08755ED3A; Thu, 26 Jul 2018 21:05:56 +0000 (UTC) Received: from mx1.redhat.com (ext-mx17.extmail.prod.ext.phx2.redhat.com [10.5.110.46]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C63A4607A7 for ; Thu, 26 Jul 2018 21:05:55 +0000 (UTC) Received: from mail-pl0-f51.google.com (mail-pl0-f51.google.com [209.85.160.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D47823002C76 for ; Thu, 26 Jul 2018 21:05:46 +0000 (UTC) Received: by mail-pl0-f51.google.com with SMTP id w3-v6so1345575plq.2 for ; Thu, 26 Jul 2018 14:05:46 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.44 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=MjEs0/ehFzFTpbvH3tGB1qCdKivwclf8I0tFelBaF4c=; b=QQyilVtxQKHu6I/mG4Wsi+E9e1yU/6rv0s/8Obhb/+I87N/wPg6D4gOcUfZyRWtF6x eMJLqM0SIJXByrxMneagUo1Lw0bdOJSi+Gr0I+trMvE3qX8DklUmtOjpixLxxvA5fxMl PqJBp3aHoE03ArziJjBIMyyLDYKB8JpbMpkKhgtH4Nwk7zcMQj/m0bNCLC+d6VoLo0Uf J8uNgjBx5EyV2PNO5UixN+JLPVKD0DFU5PGWAH3jM3+A07R9BRedyIgAq91GZQVoTj4R Us4yVYbtS/lymxTaYygoiIYQddRkgpnsPJFY3e4TzuF1cijDfkZCyYYWuB8RpYoZRz21 ZFbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=MjEs0/ehFzFTpbvH3tGB1qCdKivwclf8I0tFelBaF4c=; b=Ac0Kh6NHz4Cswvy/G2MjJXHpXm6/s+NSL32P88tqbOAehNFmOmAPp2sUKY3zDaq+yy 6MLGkaUy522THvG7ev0DeX2AtecZ7WJf+Dkp/TNbmytYVewkDkHWBdXG4PoJpeVbTE6K MhI6m5GEV0KedyOsNGi814/aFWGzkUfuwYboqCfcXhX8EM8jyzgii0LQ53/BOUdVh2LV 5HuKFD+rGvc9AxmKjHIEAGoFCWcK1/3IwoaPd3Pg0LEcTWrBYhzSTB73eKEOfdEU9pW5 L/ve3JCXm7Z66sZP7ey+j1KXI3n0dyQp9FpeYamDJQdOtlopd8cmEc6bcuHPp1ftoL4e gHJA== X-Gm-Message-State: AOUpUlEX6eabxjGvqMIgSioOu8wWuDS8Q6ogHnKEcHg+U/jsqzI3yTvT 5RRdpBIxcJ/lkKdXuCFwW3TDGh7F X-Google-Smtp-Source: AAOMgpfh+T9/xKdF7ttj7cO8zTdlWPwNwoJn/y5+A5a6TmhkaRbb1FLCAEvnXJOHFQKlO567wfuibg== X-Received: by 2002:a17:902:5281:: with SMTP id a1-v6mr3344466pli.73.1532639146054; Thu, 26 Jul 2018 14:05:46 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:36 +0530 Message-Id: <1532447562-24010-36-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 26 Jul 2018 21:05:54 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 26 Jul 2018 21:05:54 +0000 (UTC) for IP:'209.85.160.51' DOMAIN:'mail-pl0-f51.google.com' HELO:'mail-pl0-f51.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.51 mail-pl0-f51.google.com 209.85.160.51 mail-pl0-f51.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.46 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 35/41] util: iptables: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:59 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/viriptables.c | 52 +++++++++++++++++-----------------------------= ---- 1 file changed, 18 insertions(+), 34 deletions(-) diff --git a/src/util/viriptables.c b/src/util/viriptables.c index e921954..e65e8dc 100644 --- a/src/util/viriptables.c +++ b/src/util/viriptables.c @@ -215,7 +215,7 @@ static char *iptablesFormatNetwork(virSocketAddr *netad= dr, unsigned int prefix) { virSocketAddr network; - char *netstr; + VIR_AUTOFREE(char *) netstr =3D NULL; char *ret; =20 if (!(VIR_SOCKET_ADDR_IS_FAMILY(netaddr, AF_INET) || @@ -238,7 +238,6 @@ static char *iptablesFormatNetwork(virSocketAddr *netad= dr, =20 ignore_value(virAsprintf(&ret, "%s/%d", netstr, prefix)); =20 - VIR_FREE(netstr); return ret; } =20 @@ -254,7 +253,7 @@ iptablesForwardAllowOut(virFirewallPtr fw, const char *physdev, int action) { - char *networkstr; + VIR_AUTOFREE(char *) networkstr =3D NULL; virFirewallLayer layer =3D VIR_SOCKET_ADDR_FAMILY(netaddr) =3D=3D AF_I= NET ? VIR_FIREWALL_LAYER_IPV4 : VIR_FIREWALL_LAYER_IPV6; =20 @@ -279,7 +278,6 @@ iptablesForwardAllowOut(virFirewallPtr fw, "--jump", "ACCEPT", NULL); =20 - VIR_FREE(networkstr); return 0; } =20 @@ -343,7 +341,7 @@ iptablesForwardAllowRelatedIn(virFirewallPtr fw, { virFirewallLayer layer =3D VIR_SOCKET_ADDR_FAMILY(netaddr) =3D=3D AF_I= NET ? VIR_FIREWALL_LAYER_IPV4 : VIR_FIREWALL_LAYER_IPV6; - char *networkstr; + VIR_AUTOFREE(char *) networkstr =3D NULL; =20 if (!(networkstr =3D iptablesFormatNetwork(netaddr, prefix))) return -1; @@ -370,7 +368,6 @@ iptablesForwardAllowRelatedIn(virFirewallPtr fw, "--jump", "ACCEPT", NULL); =20 - VIR_FREE(networkstr); return 0; } =20 @@ -432,7 +429,7 @@ iptablesForwardAllowIn(virFirewallPtr fw, { virFirewallLayer layer =3D VIR_SOCKET_ADDR_FAMILY(netaddr) =3D=3D AF_I= NET ? VIR_FIREWALL_LAYER_IPV4 : VIR_FIREWALL_LAYER_IPV6; - char *networkstr; + VIR_AUTOFREE(char *) networkstr =3D NULL; =20 if (!(networkstr =3D iptablesFormatNetwork(netaddr, prefix))) return -1; @@ -454,7 +451,6 @@ iptablesForwardAllowIn(virFirewallPtr fw, "--out-interface", iface, "--jump", "ACCEPT", NULL); - VIR_FREE(networkstr); return 0; } =20 @@ -661,12 +657,11 @@ iptablesForwardMasquerade(virFirewallPtr fw, const char *protocol, int action) { - int ret =3D -1; - char *networkstr =3D NULL; - char *addrStartStr =3D NULL; - char *addrEndStr =3D NULL; - char *portRangeStr =3D NULL; - char *natRangeStr =3D NULL; + VIR_AUTOFREE(char *) networkstr =3D NULL; + VIR_AUTOFREE(char *) addrStartStr =3D NULL; + VIR_AUTOFREE(char *) addrEndStr =3D NULL; + VIR_AUTOFREE(char *) portRangeStr =3D NULL; + VIR_AUTOFREE(char *) natRangeStr =3D NULL; virFirewallRulePtr rule; =20 if (!(networkstr =3D iptablesFormatNetwork(netaddr, prefix))) @@ -677,15 +672,15 @@ iptablesForwardMasquerade(virFirewallPtr fw, virReportError(VIR_ERR_INTERNAL_ERROR, _("Attempted to NAT '%s'. NAT is only supported for= IPv4."), networkstr); - goto cleanup; + return -1; } =20 if (VIR_SOCKET_ADDR_IS_FAMILY(&addr->start, AF_INET)) { if (!(addrStartStr =3D virSocketAddrFormat(&addr->start))) - goto cleanup; + return -1; if (VIR_SOCKET_ADDR_IS_FAMILY(&addr->end, AF_INET)) { if (!(addrEndStr =3D virSocketAddrFormat(&addr->end))) - goto cleanup; + return -1; } } =20 @@ -718,7 +713,7 @@ iptablesForwardMasquerade(virFirewallPtr fw, if (port->start < port->end && port->end < 65536) { if (virAsprintf(&portRangeStr, ":%u-%u", port->start, port->end) < 0) - goto cleanup; + return -1; } else { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid port range '%u-%u'."), @@ -739,7 +734,7 @@ iptablesForwardMasquerade(virFirewallPtr fw, } =20 if (r < 0) - goto cleanup; + return -1; =20 virFirewallRuleAddArgList(fw, rule, "--jump", "SNAT", @@ -753,14 +748,7 @@ iptablesForwardMasquerade(virFirewallPtr fw, "--to-ports", &portRangeStr[1], NULL= ); } =20 - ret =3D 0; - cleanup: - VIR_FREE(networkstr); - VIR_FREE(addrStartStr); - VIR_FREE(addrEndStr); - VIR_FREE(portRangeStr); - VIR_FREE(natRangeStr); - return ret; + return 0; } =20 /** @@ -827,8 +815,7 @@ iptablesForwardDontMasquerade(virFirewallPtr fw, const char *destaddr, int action) { - int ret =3D -1; - char *networkstr =3D NULL; + VIR_AUTOFREE(char *) networkstr =3D NULL; =20 if (!(networkstr =3D iptablesFormatNetwork(netaddr, prefix))) return -1; @@ -838,7 +825,7 @@ iptablesForwardDontMasquerade(virFirewallPtr fw, virReportError(VIR_ERR_INTERNAL_ERROR, _("Attempted to NAT '%s'. NAT is only supported for= IPv4."), networkstr); - goto cleanup; + return -1; } =20 if (physdev && physdev[0]) @@ -859,10 +846,7 @@ iptablesForwardDontMasquerade(virFirewallPtr fw, "--jump", "RETURN", NULL); =20 - ret =3D 0; - cleanup: - VIR_FREE(networkstr); - return ret; + return 0; } =20 /** --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639201171503.28324916744293; Thu, 26 Jul 2018 14:06:41 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 6669C30B8FA5; Thu, 26 Jul 2018 21:06: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 23A1060F9B; Thu, 26 Jul 2018 21:06:28 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id C7310239; Thu, 26 Jul 2018 21:06:27 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5uS8025111 for ; Thu, 26 Jul 2018 17:05:56 -0400 Received: by smtp.corp.redhat.com (Postfix) id D1A40607A5; Thu, 26 Jul 2018 21:05:56 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C55E55E7D9 for ; Thu, 26 Jul 2018 21:05:52 +0000 (UTC) Received: from mail-pl0-f51.google.com (mail-pl0-f51.google.com [209.85.160.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D1046B2BC for ; Thu, 26 Jul 2018 21:05:48 +0000 (UTC) Received: by mail-pl0-f51.google.com with SMTP id f6-v6so1351124plo.1 for ; Thu, 26 Jul 2018 14:05:48 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.46 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=bHQoUq+sqRxfTJMk1+J9fBRvkoCfBSJj6YO9IlSUFvQ=; b=pOSqdBneFxFFVwCeFLNzeYWtaju+oAuv14lEULIM9ldI+SghD/rrAg4s8FVddoMfyi h+jST2+6quFx2HffFinWdjY359VMjXDh0897z2WHi/WCHESseRHrinZaudAD7COBklgx hRfvMvxrasvvNS+gCexhS7zZSl1JwrDXOq03kXfITz96hOl2LOVWBo3eNR/ZyBpDcfQv 5FsmK2jlZqMepfnkrBaThyZEWc4zF42U+1DJjH04D5kFtjMsugHbd1R9FZGADgvRHKxS HtOqYYB1hFjNnqMkwKuQAds8jSHevG2tHzVByvy9yp8mpMwJhqXYrznK0czDLp2qzYcU B8Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=bHQoUq+sqRxfTJMk1+J9fBRvkoCfBSJj6YO9IlSUFvQ=; b=h57IOqXSfRO1jXD0gWSJ7n6z2GvdrPNJgokiOhbjlbHtRpRc0dsrMB2iI24lRLxmM/ l71u/yTjyjRBnhu5UiagP3n9/BAyExYVzDpW+lQX0PY3Lt8x4VQ6BDMnJ0S5R/UUO5c5 h+oyveTlpaOSxh066t+JY00pmvArKXZhxnyxQnJdxfrWuKFZQXuhEALmpjyNloC7YmHt n0G3h+WlJLwOBurTibZr3O4MQynGDAYZZUuvps4bWWo0T8JVWDmY8vLLjH1akBEyD/bT Y3RV1ygwBuRKoeHQW5kK7EasOps79hNxYwYUFkesx75Mp8603IlXb0bHGMRqrSgF+eec GK0g== X-Gm-Message-State: AOUpUlGfqieGz2RkNa6A1q6Je3wI6EZLw82jEbYR/Hid1ql2Q21pMWnl 8jhX9MVyO5lPDnNLmQsmM2BowdeH X-Google-Smtp-Source: AAOMgpcmazSSKMpzYuGkdgCUFMAHgNtzmjbBwXqaNBKyHcopnqBnz7aCc96hEaiXLNIXfPWxvlyExQ== X-Received: by 2002:a17:902:8210:: with SMTP id x16-v6mr3334111pln.307.1532639148007; Thu, 26 Jul 2018 14:05:48 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:37 +0530 Message-Id: <1532447562-24010-37-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:51 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:51 +0000 (UTC) for IP:'209.85.160.51' DOMAIN:'mail-pl0-f51.google.com' HELO:'mail-pl0-f51.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.51 mail-pl0-f51.google.com 209.85.160.51 mail-pl0-f51.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 36/41] util: iscsi: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Thu, 26 Jul 2018 21:06:38 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/viriscsi.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/util/viriscsi.c b/src/util/viriscsi.c index d4c745a..13fd02c 100644 --- a/src/util/viriscsi.c +++ b/src/util/viriscsi.c @@ -80,7 +80,7 @@ virISCSIGetSession(const char *devpath, .session =3D NULL, .devpath =3D devpath, }; - char *error =3D NULL; + VIR_AUTOFREE(char *) error =3D NULL; int exitstatus =3D 0; =20 virCommandPtr cmd =3D virCommandNewArgList(ISCSIADM, "--mode", @@ -101,7 +101,6 @@ virISCSIGetSession(const char *devpath, NULLSTR(error)); =20 cleanup: - VIR_FREE(error); virCommandFree(cmd); return cbdata.session; } @@ -120,7 +119,10 @@ virStorageBackendIQNFound(const char *initiatoriqn, int ret =3D IQN_MISSING, fd =3D -1; char ebuf[64]; FILE *fp =3D NULL; - char *line =3D NULL, *newline =3D NULL, *iqn =3D NULL, *token =3D NULL; + VIR_AUTOFREE(char *) line =3D NULL; + char *newline =3D NULL; + char *iqn =3D NULL; + char *token =3D NULL; virCommandPtr cmd =3D virCommandNewArgList(ISCSIADM, "--mode", "iface", NULL); =20 @@ -192,7 +194,6 @@ virStorageBackendIQNFound(const char *initiatoriqn, if (ret =3D=3D IQN_MISSING) VIR_DEBUG("Could not find interface with IQN '%s'", iqn); =20 - VIR_FREE(line); VIR_FORCE_FCLOSE(fp); VIR_FORCE_CLOSE(fd); virCommandFree(cmd); @@ -206,7 +207,7 @@ virStorageBackendCreateIfaceIQN(const char *initiatoriq= n, char **ifacename) { int ret =3D -1, exitstatus =3D -1; - char *temp_ifacename; + VIR_AUTOFREE(char *) temp_ifacename =3D NULL; virCommandPtr cmd =3D NULL; =20 if (virAsprintf(&temp_ifacename, @@ -267,7 +268,6 @@ virStorageBackendCreateIfaceIQN(const char *initiatoriq= n, =20 cleanup: virCommandFree(cmd); - VIR_FREE(temp_ifacename); if (ret !=3D 0) VIR_FREE(*ifacename); return ret; @@ -289,7 +289,7 @@ virISCSIConnection(const char *portal, NULL }; virCommandPtr cmd; - char *ifacename =3D NULL; + VIR_AUTOFREE(char *) ifacename =3D NULL; =20 cmd =3D virCommandNewArgs(baseargv); virCommandAddArgSet(cmd, extraargv); @@ -326,7 +326,6 @@ virISCSIConnection(const char *portal, =20 cleanup: virCommandFree(cmd); - VIR_FREE(ifacename); =20 return ret; } @@ -377,15 +376,13 @@ virISCSIGetTargets(char **const groups, void *data) { struct virISCSITargetList *list =3D data; - char *target; + VIR_AUTOFREE(char *) target =3D NULL; =20 if (VIR_STRDUP(target, groups[1]) < 0) return -1; =20 - if (VIR_APPEND_ELEMENT(list->targets, list->ntargets, target) < 0) { - VIR_FREE(target); + if (VIR_APPEND_ELEMENT(list->targets, list->ntargets, target) < 0) return -1; - } =20 return 0; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639167764970.1103308246973; Thu, 26 Jul 2018 14:06:07 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E517780F7A; Thu, 26 Jul 2018 21:06:05 +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 A909A308BDB9; Thu, 26 Jul 2018 21:06:05 +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 38DB21800B82; Thu, 26 Jul 2018 21:06:05 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL5ugk025112 for ; Thu, 26 Jul 2018 17:05:56 -0400 Received: by smtp.corp.redhat.com (Postfix) id D51F460C20; Thu, 26 Jul 2018 21:05:56 +0000 (UTC) Received: from mx1.redhat.com (ext-mx02.extmail.prod.ext.phx2.redhat.com [10.5.110.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C781F60C43 for ; Thu, 26 Jul 2018 21:05:52 +0000 (UTC) Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0A8A390257 for ; Thu, 26 Jul 2018 21:05:51 +0000 (UTC) Received: by mail-pg1-f172.google.com with SMTP id y4-v6so1883560pgp.9 for ; Thu, 26 Jul 2018 14:05:51 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.48 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=/HiQ5PfjL7Y4LuaTs2XczSSGM6sj80pX/7CJ/no7HDA=; b=lVGWaeOAWtXgj/5sIbg5q9IIA/NLMzfFXqVmY3CV2EXlpuqrX3f3K1KLiv/EK6benn ExjAdTpq0iyAQQR6DcPz8TfPU4t0w261IZts0zQDYQEo8SzV+gzzNeF6MGHL25KUoe0g EF7SQuhnHGfmWw/tFy3dojf+LIs+VNC0OFgc3kU7aoczK5L1Q6C8gxd0ZvI/F9ZjGUee vCT7wf2brcrIa+XVGpTPuyYXXwzK/cmWHX6v5MHT0ylpoUnxewVfjey4jbui0tmcyqvK yP5P58SEvyg5g8A7s0yywL/Bw+xi7xk1FZX/szZwuWtElzWxXJ9QtrPIX1Mg0mk5qq4u cYwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=/HiQ5PfjL7Y4LuaTs2XczSSGM6sj80pX/7CJ/no7HDA=; b=PK+XamakbCZJqeB5/4LgohFDNeH4C43jaLvNRqmsQXBndDXAvZqr69bZKql9GBVL1i IdZPYtkaj4nOonzLf/DjX34NKBRHgpnxplh5336szzpvDSbQ/WwXqm+/4xRo/cujF+F9 qwn2zKmJ81DjISA29cyZbxwvZe8j2Kxv/xiVcQbbGDQpPChiMSmfzwj3ioyX0ikmRsHl aG9vcjDs9WY4kzAJGLGsRPWlET5uOWv7OIDTepk0mIxQr5RgZ6ceRH4+wHgcu7AlIek7 nSP1hQFxNg3tr1Nqfh15wP1gXr2uJsjQ9O0qiNcygtxrG/Xj/wNytJ1oBnq9HmK/6HOq yolw== X-Gm-Message-State: AOUpUlE0CLCk424pLq7tgqhdogy3Ylk52CqHbFwZrKwE7GOuAu+tHqKw 3pqlZEeHe+iQgA/PIPst51RaSDo7 X-Google-Smtp-Source: AAOMgpfAQ99TNgcRFpwoQrTjwcKN/yZgLVFSCf1SPRKdZRJrl5wGAyQo5N9z0PZ8ySZTKyoTK1xZDA== X-Received: by 2002:a63:5143:: with SMTP id r3-v6mr3463031pgl.11.1532639150218; Thu, 26 Jul 2018 14:05:50 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:38 +0530 Message-Id: <1532447562-24010-38-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:51 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:05:51 +0000 (UTC) for IP:'209.85.215.172' DOMAIN:'mail-pg1-f172.google.com' HELO:'mail-pg1-f172.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.172 mail-pg1-f172.google.com 209.85.215.172 mail-pg1-f172.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.26 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 37/41] util: iscsi: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 26 Jul 2018 21:06:06 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/viriscsi.c | 68 +++++++++++++++++--------------------------------= ---- 1 file changed, 22 insertions(+), 46 deletions(-) diff --git a/src/util/viriscsi.c b/src/util/viriscsi.c index 13fd02c..a55e062 100644 --- a/src/util/viriscsi.c +++ b/src/util/viriscsi.c @@ -83,7 +83,7 @@ virISCSIGetSession(const char *devpath, VIR_AUTOFREE(char *) error =3D NULL; int exitstatus =3D 0; =20 - virCommandPtr cmd =3D virCommandNewArgList(ISCSIADM, "--mode", + VIR_AUTOPTR(virCommand) cmd =3D virCommandNewArgList(ISCSIADM, "--mode= ", "session", NULL); virCommandSetErrorBuffer(cmd, &error); =20 @@ -93,15 +93,13 @@ virISCSIGetSession(const char *devpath, vars, virISCSIExtractSession, &cbdata, NULL, &exitstatus) < 0) - goto cleanup; + return NULL; =20 if (cbdata.session =3D=3D NULL && !probe) virReportError(VIR_ERR_INTERNAL_ERROR, _("cannot find iscsiadm session: %s"), NULLSTR(error)); =20 - cleanup: - virCommandFree(cmd); return cbdata.session; } =20 @@ -123,7 +121,7 @@ virStorageBackendIQNFound(const char *initiatoriqn, char *newline =3D NULL; char *iqn =3D NULL; char *token =3D NULL; - virCommandPtr cmd =3D virCommandNewArgList(ISCSIADM, + VIR_AUTOPTR(virCommand) cmd =3D virCommandNewArgList(ISCSIADM, "--mode", "iface", NULL); =20 if (VIR_ALLOC_N(line, LINE_SIZE) !=3D 0) { @@ -196,7 +194,6 @@ virStorageBackendIQNFound(const char *initiatoriqn, =20 VIR_FORCE_FCLOSE(fp); VIR_FORCE_CLOSE(fd); - virCommandFree(cmd); =20 return ret; } @@ -208,7 +205,7 @@ virStorageBackendCreateIfaceIQN(const char *initiatoriq= n, { int ret =3D -1, exitstatus =3D -1; VIR_AUTOFREE(char *) temp_ifacename =3D NULL; - virCommandPtr cmd =3D NULL; + VIR_AUTOPTR(virCommand) cmd =3D NULL; =20 if (virAsprintf(&temp_ifacename, "libvirt-iface-%08llx", @@ -267,7 +264,6 @@ virStorageBackendCreateIfaceIQN(const char *initiatoriq= n, ret =3D 0; =20 cleanup: - virCommandFree(cmd); if (ret !=3D 0) VIR_FREE(*ifacename); return ret; @@ -280,7 +276,6 @@ virISCSIConnection(const char *portal, const char *target, const char **extraargv) { - int ret =3D -1; const char *const baseargv[] =3D { ISCSIADM, "--mode", "node", @@ -288,7 +283,7 @@ virISCSIConnection(const char *portal, "--targetname", target, NULL }; - virCommandPtr cmd; + VIR_AUTOPTR(virCommand) cmd =3D NULL; VIR_AUTOFREE(char *) ifacename =3D NULL; =20 cmd =3D virCommandNewArgs(baseargv); @@ -301,7 +296,7 @@ virISCSIConnection(const char *portal, break; case IQN_MISSING: if (virStorageBackendCreateIfaceIQN(initiatoriqn, &ifacename) = !=3D 0) - goto cleanup; + return -1; /* * iscsiadm doesn't let you send commands to the Interface IQN, * unless you've first issued a 'sendtargets' command to the @@ -309,25 +304,20 @@ virISCSIConnection(const char *portal, * "iscsiadm: No records found" */ if (virISCSIScanTargets(portal, NULL, NULL) < 0) - goto cleanup; + return -1; =20 break; case IQN_ERROR: default: - goto cleanup; + return -1; } virCommandAddArgList(cmd, "--interface", ifacename, NULL); } =20 if (virCommandRun(cmd, NULL) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - - cleanup: - virCommandFree(cmd); - - return ret; + return 0; } =20 =20 @@ -354,14 +344,12 @@ virISCSIConnectionLogout(const char *portal, int virISCSIRescanLUNs(const char *session) { - virCommandPtr cmd =3D virCommandNewArgList(ISCSIADM, + VIR_AUTOPTR(virCommand) cmd =3D virCommandNewArgList(ISCSIADM, "--mode", "session", "-r", session, "-R", NULL); - int ret =3D virCommandRun(cmd, NULL); - virCommandFree(cmd); - return ret; + return virCommandRun(cmd, NULL); } =20 =20 @@ -409,8 +397,7 @@ virISCSIScanTargets(const char *portal, int vars[] =3D { 2 }; struct virISCSITargetList list; size_t i; - int ret =3D -1; - virCommandPtr cmd =3D virCommandNewArgList(ISCSIADM, + VIR_AUTOPTR(virCommand) cmd =3D virCommandNewArgList(ISCSIADM, "--mode", "discovery", "--type", "sendtargets", "--portal", portal, @@ -425,7 +412,7 @@ virISCSIScanTargets(const char *portal, vars, virISCSIGetTargets, &list, NULL, NULL) < 0) - goto cleanup; + return -1; =20 if (ntargetsret && targetsret) { *ntargetsret =3D list.ntargets; @@ -436,10 +423,7 @@ virISCSIScanTargets(const char *portal, VIR_FREE(list.targets); } =20 - ret =3D 0; - cleanup: - virCommandFree(cmd); - return ret; + return 0; } =20 /* @@ -462,9 +446,8 @@ int virISCSINodeNew(const char *portal, const char *target) { - virCommandPtr cmd =3D NULL; + VIR_AUTOPTR(virCommand) cmd =3D NULL; int status; - int ret =3D -1; =20 cmd =3D virCommandNewArgList(ISCSIADM, "--mode", "node", @@ -477,20 +460,17 @@ virISCSINodeNew(const char *portal, virReportError(VIR_ERR_INTERNAL_ERROR, _("Failed new node mode for target '%s'"), target); - goto cleanup; + return -1; } =20 if (status !=3D 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("%s failed new mode for target '%s' with status '= %d'"), ISCSIADM, target, status); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - virCommandFree(cmd); - return ret; + return 0; } =20 =20 @@ -500,9 +480,8 @@ virISCSINodeUpdate(const char *portal, const char *name, const char *value) { - virCommandPtr cmd =3D NULL; + VIR_AUTOPTR(virCommand) cmd =3D NULL; int status; - int ret =3D -1; =20 cmd =3D virCommandNewArgList(ISCSIADM, "--mode", "node", @@ -518,11 +497,8 @@ virISCSINodeUpdate(const char *portal, virReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to update '%s' of node mode for target '%= s'"), name, target); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - virCommandFree(cmd); - return ret; + return 0; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639192436440.3719505038763; Thu, 26 Jul 2018 14:06:32 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 63C6181224; Thu, 26 Jul 2018 21:06:26 +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 258612010CD0; Thu, 26 Jul 2018 21:06:26 +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 AF9CB1800B87; Thu, 26 Jul 2018 21:06:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL6JXl025569 for ; Thu, 26 Jul 2018 17:06:19 -0400 Received: by smtp.corp.redhat.com (Postfix) id 431D73083333; Thu, 26 Jul 2018 21:06:19 +0000 (UTC) Received: from mx1.redhat.com (ext-mx04.extmail.prod.ext.phx2.redhat.com [10.5.110.28]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 323A73001A6B for ; Thu, 26 Jul 2018 21:05:54 +0000 (UTC) Received: from mail-pl0-f65.google.com (mail-pl0-f65.google.com [209.85.160.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4265B81122 for ; Thu, 26 Jul 2018 21:05:53 +0000 (UTC) Received: by mail-pl0-f65.google.com with SMTP id 31-v6so1345905plc.4 for ; Thu, 26 Jul 2018 14:05:53 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.50 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=Br7UW90Uos+o59tSbv4gWXGC/JT8Ag4zjzdJrCidCT4=; b=thPBYNScMHunIjZ/16J+a7BIbchoiTeLCTMp7yC4qeMQAqmt+TElQKSOL0zS9GZM2E 8AqncSBV2B+/42Ul8XmnaJwv0TvM7JcpuYGg9gEhNrlKOVn7DkM1cN1Jcy7YVNYsiTB/ iCrjT2nsaUbPcrXuwnD6bPSYnFQIKxoUex67RibwvotWc6cHRd0GhmvStUn/9HJ41W/d uuuj/1qrNrremKBA3bYAQp44XqBT1uisP72IuxQDWmL4Vhv9s4JmGzDrsm1wXmURagZw GDf1BRd2zRyaM8fzfgmTCz2ySS+kvAU6tKZXEhQeiIKxrlxBYcRUhw3ouDL+zyq5zyX/ VyLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=Br7UW90Uos+o59tSbv4gWXGC/JT8Ag4zjzdJrCidCT4=; b=J80QVthbGH0IQGny805K2+nPU/TnnqkEJ7plgQwqNX51XafEof4nFQJXrV4NweikGp OhKvYgseovGB3NcZ+lMq6CxankihYq15BzwguvuQGVOXnGSGvHiwGQcqA9csjofc8adu 0N8egFDKLf+KfZVBJ7VO+2ELN1kx0TMuDOBpKftTZ9aXd21WLP3k2+zSuiaNFaNRLokZ T0woCo5HMiML01Uz9ynxdBf9Tz+ZNDuCNoli3WmzjhIUnmo/BUdiloPBtpzgrjDcStCD +Q5jAjyXKPdAOKskceyKocYVmDH+nN6QpIDj/9zV91EsaJOZ+D5fN34TF4TLQ14EfxFM GxUg== X-Gm-Message-State: AOUpUlH5eyaARSHFIeZpgA2LA/uaHThPOhLPArMNCc8ZHLGZhpdMxTW5 3+EZ1LejCkZ3RW2aLxTkgH555wvF X-Google-Smtp-Source: AAOMgpdGKJv0Ap0Bq8PXCTPVTh9TPvHT6LuFyhreNodNj4tV31vsgsiuSZix1YaUNcV6M82EH3Dj1w== X-Received: by 2002:a17:902:42c3:: with SMTP id h61-v6mr3331366pld.319.1532639152457; Thu, 26 Jul 2018 14:05:52 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:39 +0530 Message-Id: <1532447562-24010-39-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 26 Jul 2018 21:05:53 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 26 Jul 2018 21:05:53 +0000 (UTC) for IP:'209.85.160.65' DOMAIN:'mail-pl0-f65.google.com' HELO:'mail-pl0-f65.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.37 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.160.65 mail-pl0-f65.google.com 209.85.160.65 mail-pl0-f65.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.28 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 38/41] util: kmod: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 26 Jul 2018 21:06:31 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virkmod.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/util/virkmod.c b/src/util/virkmod.c index 219fad6..d981cd4 100644 --- a/src/util/virkmod.c +++ b/src/util/virkmod.c @@ -155,13 +155,12 @@ virKModUnload(const char *module) bool virKModIsBlacklisted(const char *module) { - bool retval =3D false; size_t i; - char *drvblklst =3D NULL; - char *outbuf =3D NULL; + VIR_AUTOFREE(char *) drvblklst =3D NULL; + VIR_AUTOFREE(char *) outbuf =3D NULL; =20 if (virAsprintfQuiet(&drvblklst, "blacklist %s\n", module) < 0) - goto cleanup; + return false; =20 /* modprobe will convert all '-' into '_', so we need to as well */ for (i =3D 0; i < drvblklst[i]; i++) @@ -169,13 +168,10 @@ virKModIsBlacklisted(const char *module) drvblklst[i] =3D '_'; =20 if (doModprobe("-c", NULL, &outbuf, NULL) < 0) - goto cleanup; + return false; =20 if (strstr(outbuf, drvblklst)) - retval =3D true; + return true; =20 - cleanup: - VIR_FREE(drvblklst); - VIR_FREE(outbuf); - return retval; + return false; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639198942890.2419994337698; Thu, 26 Jul 2018 14:06:38 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id C3972883C6; Thu, 26 Jul 2018 21:06:21 +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 859AB601A4; Thu, 26 Jul 2018 21:06:21 +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 1F3163F7FF; Thu, 26 Jul 2018 21:06:21 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL6J9A025570 for ; Thu, 26 Jul 2018 17:06:19 -0400 Received: by smtp.corp.redhat.com (Postfix) id 472F73001A68; Thu, 26 Jul 2018 21:06:19 +0000 (UTC) Received: from mx1.redhat.com (ext-mx01.extmail.prod.ext.phx2.redhat.com [10.5.110.25]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3A9733001A65 for ; Thu, 26 Jul 2018 21:05:56 +0000 (UTC) Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 84E7681E05 for ; Thu, 26 Jul 2018 21:05:55 +0000 (UTC) Received: by mail-pg1-f196.google.com with SMTP id v13-v6so1878997pgr.10 for ; Thu, 26 Jul 2018 14:05:55 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=bu3WlZVpwZjXmqZ7bXv8JSLKC8wBq6zpY1ur9UImcOE=; b=NlarmDZm6Vcf/ynTw24jWHfjeeLp/LWYO2iDNGCSYAKwn3MLKjxzFMMucuTWgT/yio NxxxkbtxPmja12XAcINjFVzDxyXh/v8gyNDYe4HdyOAKoj6SnbOhuTFee0646nzm7ejp Q3//zBGZAKl9HZZQVE+0XfnID2IOFOx8nE3dYtHrBJgQ6VnJBNCoMA8J7GSOmLbhuIeD lhHKfww0dcZvF7fGpq/c/4jVgpcMYe5G6Y3AnpwZZmRIkw2O3FmYiE8iLgj3KCDduUfq qvlk54BsuZ+Vx0GZ1V+DDrfJH40Z6Vl/hy7Kn/MQm6cUteXYfV8XdymyxmTnphzAYmP6 ra2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=bu3WlZVpwZjXmqZ7bXv8JSLKC8wBq6zpY1ur9UImcOE=; b=FIZ9A5u4pW/UR2C/94XCXFo52rPr1hxfUT0td5ddbWQzuYP/VXGvbqta97iv8ofB2b vu8O3IP6t3Lwu58lZaiXLFyO+xG25K49ctyuV+Cmn8PzdfSnhVBb1KlNZBVXX7tWhe/B ddea41DrrX57lH26ltrBD4QV0qVwOzQp+i13Mwo5Y6rXkak4zdFZtX6DRY2ODQYf2PD6 y6S9509Ld2toxfQ8JfbdXV5D41mJd7fLu9tceZCUEpYVCrYqUXdu9dZ/2+h1nc9peP53 fxYCc5Cr41vyxQeQL2uJ9ET6KO5Z61BAGXhshT8v4th/vYnT7qMnHwXvLu3cCX80vGUT PPew== X-Gm-Message-State: AOUpUlFDEsGvOu/4AsTFuyWb/z+pfRAfkphbvUHLoX7Xfs0ZZ06Iksqp 8IELszMgWiErzbIsn0elhgFQ8xxh X-Google-Smtp-Source: AAOMgpd11T/bydSJjO8EyD0eUdlokhlWWRiYkos8g9qP263sPg3kc/n5itD9PQtl0Jpu5Zb4MwL7ag== X-Received: by 2002:a65:62cd:: with SMTP id m13-v6mr3357926pgv.280.1532639154738; Thu, 26 Jul 2018 14:05:54 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:40 +0530 Message-Id: <1532447562-24010-40-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 26 Jul 2018 21:05:55 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 26 Jul 2018 21:05:55 +0000 (UTC) for IP:'209.85.215.196' DOMAIN:'mail-pg1-f196.google.com' HELO:'mail-pg1-f196.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.196 mail-pg1-f196.google.com 209.85.215.196 mail-pg1-f196.google.com X-Scanned-By: MIMEDefang 2.83 on 10.5.110.25 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 39/41] util: kmod: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 26 Jul 2018 21:06:37 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virkmod.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/src/util/virkmod.c b/src/util/virkmod.c index d981cd4..9d0375b 100644 --- a/src/util/virkmod.c +++ b/src/util/virkmod.c @@ -28,8 +28,7 @@ static int doModprobe(const char *opts, const char *module, char **outbuf, char **err= buf) { - int ret =3D -1; - virCommandPtr cmd =3D NULL; + VIR_AUTOPTR(virCommand) cmd =3D NULL; =20 cmd =3D virCommandNew(MODPROBE); if (opts) @@ -42,32 +41,23 @@ doModprobe(const char *opts, const char *module, char *= *outbuf, char **errbuf) virCommandSetErrorBuffer(cmd, errbuf); =20 if (virCommandRun(cmd, NULL) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - - cleanup: - virCommandFree(cmd); - return ret; + return 0; } =20 static int doRmmod(const char *module, char **errbuf) { - int ret =3D -1; - virCommandPtr cmd =3D NULL; + VIR_AUTOPTR(virCommand) cmd =3D NULL; =20 cmd =3D virCommandNewArgList(RMMOD, module, NULL); virCommandSetErrorBuffer(cmd, errbuf); =20 if (virCommandRun(cmd, NULL) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - - cleanup: - virCommandFree(cmd); - return ret; + return 0; } =20 /** --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532639557902909.9984493387956; Thu, 26 Jul 2018 14:12:37 -0700 (PDT) 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 mx1.redhat.com (Postfix) with ESMTPS id 19ACA32B688; Thu, 26 Jul 2018 21:12:35 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CE60116D21; Thu, 26 Jul 2018 21:12: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 7517A4A463; Thu, 26 Jul 2018 21:12:34 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QLCWIJ028234 for ; Thu, 26 Jul 2018 17:12:32 -0400 Received: by smtp.corp.redhat.com (Postfix) id ADE1A63132; Thu, 26 Jul 2018 21:12:32 +0000 (UTC) Received: from mx1.redhat.com (ext-mx06.extmail.prod.ext.phx2.redhat.com [10.5.110.30]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A178661B8A for ; Thu, 26 Jul 2018 21:12:28 +0000 (UTC) Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9FDA4356CD for ; Thu, 26 Jul 2018 21:05:57 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id r5-v6so1895280pgv.0 for ; Thu, 26 Jul 2018 14:05:57 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.55 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=P5HCJ6j7xSfuL4WFZHthJPksCRHtpZMI5YedmFa1i0M=; b=JHoPd5dlwZ/wPFZ0GdEQBV3VVDS/XvK4d1sHlgpWjzqwDVBm0GlsXaU+IqYDaUw0M/ sYpLyvaHWQodI7oYnD8EQ7xlySp7RwkMYa79cvSMNgqHQJqn1Dq2SjmXulMs7mjKRcYK qzYvGpUfCpe05Y73FsKgXQKzFoOWhAEkWa6aJCoPsmBSTqyM58o/W7kY77wHjpTxmvqv PBtTblOamusj7HsKW+jsRgPYrVwiWKAspF0SkxLdcasyLzAv50cdDHCwnOTyuP06VDS0 Tm86EE4cogp8QcMwP+nLLajpo4uWDrM/K/nzFg0F0/G8nAl1NnANTPRKjzDH+/hBvMy2 jqrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=P5HCJ6j7xSfuL4WFZHthJPksCRHtpZMI5YedmFa1i0M=; b=dCg79uCYTxjctFARU+PAi1fqqoihuPKT5eaw4Kvcf/s1/0iO0N6CcvLpFXHXn/ScXw P8VW1oXJDECDuEPRdXkBdMOvZvSIAf2FrvFgQvK7OK9obYX/56h/0PHcC5areWsAmv+D dPVxiJqCX1Ove4dhMPgyKQWVIP59cNN4hD9AvdWjOBSaiTbhR2kEpLUN0YoRypcTNnkK xixicmtLtYi+bKzgJt3ZoW/jdauc8gOGXE4j+3hVwY24Cs9/up8jTnRlmuPRt27/4IYC lX1Mswq1CJ0onJFQlNvrvVsYYsyZ9UEOECfmxKwm5ebw+lw8ki6b1qefRDftey4YQN1E xmfQ== X-Gm-Message-State: AOUpUlG6tn7+g8AtFhVHAAoM4LVlvvbpinjXCkJbIEyvCGHv1SPT5u4b Oyy72H7kjItdquYRVTGca2Z8YS1h X-Google-Smtp-Source: AAOMgpcsJ0167GnrXl27WYcTZ6am/N0sTZKyl1K8LhvUk27hf8umOqa2JBYi31QSVY3Wmt+SNC8F6g== X-Received: by 2002:a63:6d8b:: with SMTP id i133-v6mr3409089pgc.215.1532639156914; Thu, 26 Jul 2018 14:05:56 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:41 +0530 Message-Id: <1532447562-24010-41-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:57 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:57 +0000 (UTC) for IP:'209.85.215.194' DOMAIN:'mail-pg1-f194.google.com' HELO:'mail-pg1-f194.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.194 mail-pg1-f194.google.com 209.85.215.194 mail-pg1-f194.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.30 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 40/41] util: lease: use VIR_AUTOFREE instead of VIR_FREE for scalar types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Thu, 26 Jul 2018 21:12:36 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOFREE macro for declaring scalar variables, majority of the VIR_FREE calls can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virlease.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/util/virlease.c b/src/util/virlease.c index b49105d..baaceaf 100644 --- a/src/util/virlease.c +++ b/src/util/virlease.c @@ -55,7 +55,7 @@ virLeaseReadCustomLeaseFile(virJSONValuePtr leases_array_= new, const char *ip_to_delete, char **server_duid) { - char *lease_entries =3D NULL; + VIR_AUTOFREE(char *) lease_entries =3D NULL; virJSONValuePtr leases_array =3D NULL; long long expirytime; int custom_lease_file_len =3D 0; @@ -146,7 +146,6 @@ virLeaseReadCustomLeaseFile(virJSONValuePtr leases_arra= y_new, =20 cleanup: virJSONValueFree(leases_array); - VIR_FREE(lease_entries); return ret; } =20 @@ -235,7 +234,7 @@ virLeaseNew(virJSONValuePtr *lease_ret, virJSONValuePtr lease_new =3D NULL; const char *exptime_tmp =3D virGetEnvAllowSUID("DNSMASQ_LEASE_EXPIRES"= ); long long expirytime =3D 0; - char *exptime =3D NULL; + VIR_AUTOFREE(char *) exptime =3D NULL; int ret =3D -1; =20 /* In case hostname is still unknown, use the last known one */ @@ -291,7 +290,6 @@ virLeaseNew(virJSONValuePtr *lease_ret, *lease_ret =3D lease_new; lease_new =3D NULL; cleanup: - VIR_FREE(exptime); virJSONValueFree(lease_new); return ret; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Tue May 21 02:34:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 153263920404486.08270526880256; Thu, 26 Jul 2018 14:06:44 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 918463003726; Thu, 26 Jul 2018 21:06:41 +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 20FB2CE6CB; Thu, 26 Jul 2018 21:06: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 CA4AB1800FED; Thu, 26 Jul 2018 21:06:35 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6QL6Y4n025610 for ; Thu, 26 Jul 2018 17:06:34 -0400 Received: by smtp.corp.redhat.com (Postfix) id 027D260FA6; Thu, 26 Jul 2018 21:06:34 +0000 (UTC) Received: from mx1.redhat.com (ext-mx06.extmail.prod.ext.phx2.redhat.com [10.5.110.30]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E4D6E610C9 for ; Thu, 26 Jul 2018 21:06:01 +0000 (UTC) Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A51D336809 for ; Thu, 26 Jul 2018 21:05:59 +0000 (UTC) Received: by mail-pg1-f195.google.com with SMTP id a11-v6so1885492pgw.6 for ; Thu, 26 Jul 2018 14:05:59 -0700 (PDT) Received: from centos.localdomain ([42.106.3.93]) by smtp.gmail.com with ESMTPSA id z10-v6sm3279182pfh.83.2018.07.26.14.05.57 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jul 2018 14:05:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=MAFjVvZCdpYpdSEAT8FA/IlFpseyzJqRATUv/cTKIXg=; b=Oh2YdtzeWVwKHMB0wE3zcUzJCyywShS5x+ts77zJFNJCb36yAydDT4DkqhxP3+NmjU 2v61Jm5uFeqre/r5HO/EeTbX2NcX/twOmgW8E4hjVZgK2eDJYBAJ8A4tRkkm/WCoO2Us TY7KXlCTCwRxqyrsF/rxCNLc8Gvm4DdJV41ED84C/rWYrSm79poGgc9WnpaTJ6zBMxJp u12k/AQwEbz48mHTXln3LW7vDlVsZjRGejHkKgVvBui8hUfqhhW8fVZE87GcFkqGnuLy IcpdAVVMFFf9p8VHOgAFbqPiZpFwHngAn4Mrz8BN1x9Q9MKE1dY8XsR1AhX4AMyazEr3 2a9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=MAFjVvZCdpYpdSEAT8FA/IlFpseyzJqRATUv/cTKIXg=; b=ddnPccqk9x+s6EiJ91PFHif+7sOEMlN1ZJ3JWWsrNvckofBUxB2RmIkL4XMDR9mFfj RIZ0Gl3c/e0eiGr+EOUWLdbdmqt+N/aHp5aRbT5Qgra5rzmpVAoqt2a0R7WDdVunJMqb 0+rOayE2tLFkvpXhjOfaS/44j/eZLex2FWgyWDE6MRPcCFrOtWcnG95YQnSBHvJZKtS9 EllsglxNHqkEYK4HXQcyjMNc8mmlb8Ce5kUVYgbOWZS6ONnBzLbz3rDRoZ9yJuGMTOvz 6WkxBRT8EAhwWUR36tgtaxT20slfz4bKE3VEr/lTzFcWaa74R8Dn+n44Q48jot5qvR1R UFHg== X-Gm-Message-State: AOUpUlGXgzG2hT33Q28P5+HRpcUd9Yp5MOBdPCp6jkYaztt0ySWhNNcB WV2q2FdTv5oVzzufTDNRzj5eKp9O X-Google-Smtp-Source: AAOMgpcAdzM1hbDKVTHTbqLMUBZWjcBicmYICDKqlYWUjUvS4903XPAY6YwhsIBcRBiloJipeGeubA== X-Received: by 2002:a62:45d2:: with SMTP id n79-v6mr3645936pfi.137.1532639158840; Thu, 26 Jul 2018 14:05:58 -0700 (PDT) From: Sukrit Bhatnagar To: libvir-list@redhat.com Date: Tue, 24 Jul 2018 21:22:42 +0530 Message-Id: <1532447562-24010-42-git-send-email-skrtbhtngr@gmail.com> In-Reply-To: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> References: <1532447562-24010-1-git-send-email-skrtbhtngr@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:59 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Thu, 26 Jul 2018 21:05:59 +0000 (UTC) for IP:'209.85.215.195' DOMAIN:'mail-pg1-f195.google.com' HELO:'mail-pg1-f195.google.com' FROM:'skrtbhtngr@gmail.com' RCPT:'' X-RedHat-Spam-Score: 1.389 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, RCVD_IN_SORBS_WEB, SPF_PASS) 209.85.215.195 mail-pg1-f195.google.com 209.85.215.195 mail-pg1-f195.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.30 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 41/41] util: lease: use VIR_AUTOPTR for aggregate types 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Thu, 26 Jul 2018 21:06:42 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar Reviewed-by: Erik Skultety --- src/util/virlease.c | 76 ++++++++++++++++++++-----------------------------= ---- 1 file changed, 29 insertions(+), 47 deletions(-) diff --git a/src/util/virlease.c b/src/util/virlease.c index baaceaf..7c6c37e 100644 --- a/src/util/virlease.c +++ b/src/util/virlease.c @@ -56,40 +56,36 @@ virLeaseReadCustomLeaseFile(virJSONValuePtr leases_arra= y_new, char **server_duid) { VIR_AUTOFREE(char *) lease_entries =3D NULL; - virJSONValuePtr leases_array =3D NULL; + VIR_AUTOPTR(virJSONValue) leases_array =3D NULL; long long expirytime; int custom_lease_file_len =3D 0; virJSONValuePtr lease_tmp =3D NULL; const char *ip_tmp =3D NULL; const char *server_duid_tmp =3D NULL; size_t i; - int ret =3D -1; =20 /* Read entire contents */ if ((custom_lease_file_len =3D virFileReadAll(custom_lease_file, VIR_NETWORK_DHCP_LEASE_FIL= E_SIZE_MAX, &lease_entries)) < 0) { - goto cleanup; + return -1; } =20 /* Check for previous leases */ - if (custom_lease_file_len =3D=3D 0) { - ret =3D 0; - goto cleanup; - } + if (custom_lease_file_len =3D=3D 0) + return 0; =20 if (!(leases_array =3D virJSONValueFromString(lease_entries))) { virReportError(VIR_ERR_INTERNAL_ERROR, _("invalid json in file: %s, rewriting it"), custom_lease_file); - ret =3D 0; - goto cleanup; + return 0; } =20 if (!virJSONValueIsArray(leases_array)) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("couldn't fetch array of leases")); - goto cleanup; + return -1; } =20 i =3D 0; @@ -97,14 +93,14 @@ virLeaseReadCustomLeaseFile(virJSONValuePtr leases_arra= y_new, if (!(lease_tmp =3D virJSONValueArrayGet(leases_array, i))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("failed to parse json")); - goto cleanup; + return -1; } =20 if (!(ip_tmp =3D virJSONValueObjectGetString(lease_tmp, "ip-addres= s")) || (virJSONValueObjectGetNumberLong(lease_tmp, "expiry-time", &ex= pirytime) < 0)) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("failed to parse json")); - goto cleanup; + return -1; } =20 /* Check whether lease has to be included or not */ @@ -121,14 +117,14 @@ virLeaseReadCustomLeaseFile(virJSONValuePtr leases_ar= ray_new, /* Control reaches here when the 'action' is not for an * ipv6 lease or, for some weird reason the env var * DNSMASQ_SERVER_DUID wasn't set*/ - goto cleanup; + return -1; } } else { /* Inject server-duid into those ipv6 leases which * didn't have it previously, for example, those * created by leaseshelper from libvirt 1.2.6 */ if (virJSONValueObjectAppendString(lease_tmp, "server-duid= ", *server_duid) < 0) - goto cleanup; + return -1; } } =20 @@ -136,17 +132,13 @@ virLeaseReadCustomLeaseFile(virJSONValuePtr leases_ar= ray_new, if (virJSONValueArrayAppend(leases_array_new, lease_tmp) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("failed to create json")); - goto cleanup; + return -1; } =20 ignore_value(virJSONValueArraySteal(leases_array, i)); } =20 - ret =3D 0; - - cleanup: - virJSONValueFree(leases_array); - return ret; + return 0; } =20 =20 @@ -157,7 +149,6 @@ virLeasePrintLeases(virJSONValuePtr leases_array_new, virJSONValuePtr lease_tmp =3D NULL; const char *ip_tmp =3D NULL; long long expirytime =3D 0; - int ret =3D -1; size_t i; =20 /* Man page of dnsmasq says: the script (helper program, in our case) @@ -174,7 +165,7 @@ virLeasePrintLeases(virJSONValuePtr leases_array_new, if (!(ip_tmp =3D virJSONValueObjectGetString(lease_tmp, "ip-addres= s"))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("failed to parse json")); - goto cleanup; + return -1; } if (!strchr(ip_tmp, ':')) { if (virJSONValueObjectGetNumberLong(lease_tmp, "expiry-time", @@ -198,7 +189,7 @@ virLeasePrintLeases(virJSONValuePtr leases_array_new, if (!(ip_tmp =3D virJSONValueObjectGetString(lease_tmp, "ip-ad= dress"))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("failed to parse json")); - goto cleanup; + return -1; } if (strchr(ip_tmp, ':')) { if (virJSONValueObjectGetNumberLong(lease_tmp, "expiry-tim= e", @@ -215,10 +206,7 @@ virLeasePrintLeases(virJSONValuePtr leases_array_new, } } =20 - ret =3D 0; - - cleanup: - return ret; + return 0; } =20 =20 @@ -231,24 +219,21 @@ virLeaseNew(virJSONValuePtr *lease_ret, const char *iaid, const char *server_duid) { - virJSONValuePtr lease_new =3D NULL; + VIR_AUTOPTR(virJSONValue) lease_new =3D NULL; const char *exptime_tmp =3D virGetEnvAllowSUID("DNSMASQ_LEASE_EXPIRES"= ); long long expirytime =3D 0; VIR_AUTOFREE(char *) exptime =3D NULL; - int ret =3D -1; =20 /* In case hostname is still unknown, use the last known one */ if (!hostname) hostname =3D virGetEnvAllowSUID("DNSMASQ_OLD_HOSTNAME"); =20 - if (!mac) { - ret =3D 0; - goto cleanup; - } + if (!mac) + return 0; =20 if (exptime_tmp) { if (VIR_STRDUP(exptime, exptime_tmp) < 0) - goto cleanup; + return -1; =20 /* Removed extraneous trailing space in DNSMASQ_LEASE_EXPIRES * (dnsmasq < 2.52) */ @@ -261,35 +246,32 @@ virLeaseNew(virJSONValuePtr *lease_ret, virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to convert lease expiry time to long long= : %s"), NULLSTR(exptime)); - goto cleanup; + return -1; } =20 /* Create new lease */ if (!(lease_new =3D virJSONValueNewObject())) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("failed to create json")); - goto cleanup; + return -1; } =20 if (iaid && virJSONValueObjectAppendString(lease_new, "iaid", iaid) < = 0) - goto cleanup; + return -1; if (ip && virJSONValueObjectAppendString(lease_new, "ip-address", ip) = < 0) - goto cleanup; + return -1; if (mac && virJSONValueObjectAppendString(lease_new, "mac-address", ma= c) < 0) - goto cleanup; + return -1; if (hostname && virJSONValueObjectAppendString(lease_new, "hostname", = hostname) < 0) - goto cleanup; + return -1; if (clientid && virJSONValueObjectAppendString(lease_new, "client-id",= clientid) < 0) - goto cleanup; + return -1; if (server_duid && virJSONValueObjectAppendString(lease_new, "server-d= uid", server_duid) < 0) - goto cleanup; + return -1; if (expirytime && virJSONValueObjectAppendNumberLong(lease_new, "expir= y-time", expirytime) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; *lease_ret =3D lease_new; lease_new =3D NULL; - cleanup: - virJSONValueFree(lease_new); - return ret; + return 0; } --=20 1.8.3.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list