From nobody Tue May 7 01:37:33 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 205.139.111.44 is neither permitted nor denied by domain of listman.redhat.com) client-ip=205.139.111.44; envelope-from=libvir-list-bounces@listman.redhat.com; helo=us-smtp-delivery-44.mimecast.com; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 205.139.111.44 is neither permitted nor denied by domain of listman.redhat.com) smtp.mailfrom=libvir-list-bounces@listman.redhat.com; dmarc=fail(p=quarantine dis=quarantine) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1613526089; cv=none; d=zohomail.com; s=zohoarc; b=PWpxBb9jKFw1Wxxto39XbNQyVlaEEX5AZ/4fczQlTzwGncR1dz5B0cX95FrpqXHglNsVK5TJwxSNjuvnyogLeLaIYE1+0DoRWH5l44P0eoHrwwDI/ijELAO018UZd5VUubBN7cm3H3kKoSfN6n4rhYHSq7v+wUudDW27p25AICk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613526089; h=Content-Type:Content-Transfer-Encoding:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=CuVlvNDme5DkIRe10gSlXgxp3qJlJ0FyFgrziRxIsqg=; b=YoxSKUFj6TuegKafhR0EB9TJhrW9FfbyTZsqI2H3FhkHzf7CGNDdcBghBBFRm8SRs5pt0PYRtMhnYv/aRNUl41L3lIQD5Dyt03JtK6BGgdnCgYmbofcpSERpgxZIGuzRS1Kp5jdJ9mu072fSyVgzC03jZifCCSBjAkvsWCGV3mI= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=none (zohomail.com: 205.139.111.44 is neither permitted nor denied by domain of listman.redhat.com) smtp.mailfrom=libvir-list-bounces@listman.redhat.com; dmarc=fail header.from= (p=quarantine dis=quarantine) header.from= Return-Path: Received: from us-smtp-delivery-44.mimecast.com (us-smtp-delivery-44.mimecast.com [205.139.111.44]) by mx.zohomail.com with SMTPS id 1613526088856532.6461478714166; Tue, 16 Feb 2021 17:41:28 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-482-Ak-6-RLvNPeFUDME9wOrNw-1; Tue, 16 Feb 2021 20:41:22 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1A65E804039; Wed, 17 Feb 2021 01:41:14 +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 B64EB62462; Wed, 17 Feb 2021 01:41: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 CDE5C18095CE; Wed, 17 Feb 2021 01:41:06 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 11H1f4Ul010734 for ; Tue, 16 Feb 2021 20:41:04 -0500 Received: by smtp.corp.redhat.com (Postfix) id 101951041AF5; Wed, 17 Feb 2021 01:41:04 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast01.extmail.prod.ext.rdu2.redhat.com [10.11.55.17]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CACCC104FA66 for ; Wed, 17 Feb 2021 01:41:01 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7C5B985A5A6 for ; Wed, 17 Feb 2021 01:41:01 +0000 (UTC) Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-553-BCa78fPoOXeRh4D4eGqrLA-1; Tue, 16 Feb 2021 20:40:57 -0500 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2109.outbound.protection.outlook.com [104.47.18.109]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-11-ieQiy4VTPZudlYzvNskNRQ-1; Wed, 17 Feb 2021 02:40:54 +0100 Received: from AS8PR04MB7976.eurprd04.prod.outlook.com (2603:10a6:20b:2af::18) by AM6PR04MB4584.eurprd04.prod.outlook.com (2603:10a6:20b:1e::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.25; Wed, 17 Feb 2021 01:40:53 +0000 Received: from AS8PR04MB7976.eurprd04.prod.outlook.com ([fe80::ed5c:d17d:4b3d:aa32]) by AS8PR04MB7976.eurprd04.prod.outlook.com ([fe80::ed5c:d17d:4b3d:aa32%3]) with mapi id 15.20.3846.042; Wed, 17 Feb 2021 01:40:52 +0000 Received: from linux-tbji.devlab.prv.suse.com (75.169.41.71) by AM3PR07CA0063.eurprd07.prod.outlook.com (2603:10a6:207:4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.12 via Frontend Transport; Wed, 17 Feb 2021 01:40:48 +0000 X-MC-Unique: Ak-6-RLvNPeFUDME9wOrNw-1 X-MC-Unique: BCa78fPoOXeRh4D4eGqrLA-1 X-MC-Unique: ieQiy4VTPZudlYzvNskNRQ-1 From: Jim Fehlig To: libvir-list@redhat.com Subject: [PATCH] libxl: Use g_autofree for char* where easily possible Date: Tue, 16 Feb 2021 18:40:22 -0700 Message-ID: <20210217014022.30958-1-jfehlig@suse.com> X-Originating-IP: [75.169.41.71] X-ClientProxiedBy: AM3PR07CA0063.eurprd07.prod.outlook.com (2603:10a6:207:4::21) To AS8PR04MB7976.eurprd04.prod.outlook.com (2603:10a6:20b:2af::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: de32932e-b67f-4b4d-8fe9-08d8d2e50f34 X-MS-TrafficTypeDiagnostic: AM6PR04MB4584: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4502 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: /KRUU4GAwlc72vvaweE1SppxMQ/ZUKFS/ux2eP7Cv5v0XxxGQOTIWP5Fvb4KJ99aiteQQ4qVLy848NZ2FD7/4f4DwctEbDp04AMYRqPke/2aMrK72/mjM8oPJwSO11JJKGiR9KcM11m7ESLytUxeycnxjDbBk4m2TbSUa6g751C2xEMKYmjyMpOcgoOLRA5FouA2tH7B9YZSQ06Q1pHVSBtngVMsyIx2ZeQSSWJwBBwtvR1I48JaKUzByt5fMpgR/QHdc06pDwZUkAznJwCpL5miZFa9XvGQd68vUibY28QixAVgS8PrGoCY4wfSxrUFN9VqrVgAmh73vJ9Q+xToB42B3Qcaipmhgg1i0Z7fTm8fqTm9ni6FmENc8FXkJ/6VZJy5tNBBdWEnRFmzCUtMND7c44/QJYX+gB96TykaeA5tIGDuumRSf2d8+BZbMQeALY/4SeskQQ9I0lkWfgn/ZnghULpoBM4sSWYwaP1MrIAUAe+JGcKbsxPlhlcEz5EUMmjWNb+915r6a99yqsf76w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR04MB7976.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(376002)(39860400002)(346002)(136003)(396003)(30864003)(316002)(7696005)(83380400001)(5660300002)(6666004)(66946007)(2616005)(1076003)(6916009)(107886003)(8936002)(956004)(186003)(26005)(36756003)(478600001)(4326008)(86362001)(66556008)(66476007)(16526019)(8676002)(52116002)(6486002)(2906002); DIR:OUT; SFP:1101 X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?kkKFID7C9MSq5BkSMD+FUYbi5MKVHHOisaqzHwHha9sqWvbUV8oTzFBNYnnG?= =?us-ascii?Q?l+Ze7Bwcj3dMm1C7jo7F1C4rRns7xB3NUc5MBmX5Hsma08OOVF3ak+/653Zh?= =?us-ascii?Q?nfk/POSUwEqpnYSVZCnTvF7HFlppDEjHu/jlGkWIeak8C0TluxEqosFZMBo/?= =?us-ascii?Q?srXV8OlP6t22RlHXM0frZUqFtkXg4PkBN4C+xr+0WJqgC0iohyns5Y0FGAT2?= =?us-ascii?Q?1fGBrlDrocdFgZ1OcTTLdatGOTFiW8tK6Vl5KPYzpx1bp2aKAFoaAvSnQl9h?= =?us-ascii?Q?QJc0baGpg9FP2TdV6ayqkguIhfsh2RdCu96pr39cZ4se2ckidBD8Fqmvl6Ui?= =?us-ascii?Q?FO/7I+cxs0mzboLb24YrUEFdGWz/Nx9DGuZpUWsf5zxUFCKS9jgQWJTUxHxH?= =?us-ascii?Q?JiF0cFIsJbgxBDiKctICrS01DXbN2nJqQLYEoWbqKedKejAU6QEGaWc4TOnV?= =?us-ascii?Q?Zi2JiZ7m52AGK+ldMniw+tdSnG3m1T97CUQDeTLu811ErwbESLfdDt5n0oRq?= =?us-ascii?Q?w4BQoGsT5ec2wvWdQxhIhDeFXdTjYWc4QjO/TkBxDLHC1oKBCkrN9uwH0+zs?= =?us-ascii?Q?Uk2CTEMwP1VAY7Sy0JJvDU1SSoSf9GaHh5aJ6gSZhPgA+4R44wLZi1RJNyxw?= =?us-ascii?Q?bege+1RybuTDUhyMcTSaZWAC1RxknmNxfcL/swNpIjxYbbGhWLJG1oQdLfJp?= =?us-ascii?Q?vu7pBJ0DgeoRTeYWYxlzd4qkwoWoqjYkHxtrM2CIZf46RW9wI+b3t/2ttpKa?= =?us-ascii?Q?MHH0OZ40Z/zq/Ry8SfT2U3R5SoYQG5MXAqkTk7Cv/Pd/dhyRcLtEqWylh8KO?= =?us-ascii?Q?uoo2X8F/jAQ84RjRAW8qSHKont8M8jXRNuQFklwlUaEZ8ZWCm5EMeMbk+axm?= =?us-ascii?Q?hqxvRBZThPwXX7l1PHPhN2R32zaWOy2gcyJ0Bj9euyleA+a/71YxPSQOaSRi?= =?us-ascii?Q?+WMPkzVqGAEq8rta6zBJUMm5oITJ18UmmXWLbocRZJINNVnfMG1Uk55cqDRj?= =?us-ascii?Q?R/CrySSxzHNMsUhQlX7w2FWk7bKiZ/PHAROi+0vuefBlgFXdHMx0Jr4WDdpS?= =?us-ascii?Q?NiXOzfFO2Hh8aaZysEvGH2i2v9JqAGmfRrwqVgBULHSqcGjJQyIaHa+XwtWM?= =?us-ascii?Q?sytgJyVG5nr02pH+Z+u78pZ1XO18Tbl070pQoQYyUVnDy2TewNlkoCqnK4vg?= =?us-ascii?Q?1T4+MSBK9n2tY/r40SGw9i4nfo9F4hEte8fkF7ORblktH87bfKjccI1VH25W?= =?us-ascii?Q?8ETLE/Q9Ob3e8T/ftDnCc9oKlFVYe4LGaZJOK0JrG3/9Cl2/OKFFHl/Cuvxr?= =?us-ascii?Q?KZcrMJYdcYog6B/fyl7sNlYN?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: de32932e-b67f-4b4d-8fe9-08d8d2e50f34 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB7976.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2021 01:40:52.6173 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +tLS8fz7GSnA4wZNAbSPvi/HUoDAva+3yVeC0WErbhMoR4BlFeZ9mEernDGz6AlXvR9x5lpyIG0AjaQ+gp9PsA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4584 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-MIME-Autoconverted: from quoted-printable to 8bit by lists01.pubmisc.prod.ext.phx2.redhat.com id 11H1f4Ul010734 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@listman.redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@listman.redhat.com Errors-To: libvir-list-bounces@listman.redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@listman.redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: listman.redhat.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" All of these strings are allocated once, freed once, and are never returned out of the function where they are declared. Signed-off-by: Jim Fehlig Reviewed-by: J=C3=A1n Tomko --- src/libxl/libxl_capabilities.c | 3 +-- src/libxl/libxl_domain.c | 17 +++++------------ src/libxl/libxl_driver.c | 32 +++++++++++--------------------- src/libxl/libxl_logger.c | 21 ++++++--------------- src/libxl/libxl_migration.c | 15 +++++---------- src/libxl/xen_common.c | 17 ++++++----------- src/libxl/xen_xl.c | 6 ++---- 7 files changed, 36 insertions(+), 75 deletions(-) diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 2f3ed5bc83..10e5d46cdd 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -769,7 +769,7 @@ libxlDomainGetEmulatorType(const virDomainDef *def) { int ret =3D LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN; virCommandPtr cmd =3D NULL; - char *output =3D NULL; + g_autofree char *output =3D NULL; =20 if (def->os.type =3D=3D VIR_DOMAIN_OSTYPE_HVM) { if (def->emulator) { @@ -790,7 +790,6 @@ libxlDomainGetEmulatorType(const virDomainDef *def) } =20 cleanup: - VIR_FREE(output); virCommandFree(cmd); return ret; } diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index 3bcd369d12..365ac36f2b 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -748,7 +748,7 @@ libxlDomainSaveImageOpen(libxlDriverPrivatePtr driver, int fd; virDomainDefPtr def =3D NULL; libxlSavefileHeader hdr; - char *xml =3D NULL; + g_autofree char *xml =3D NULL; =20 if ((fd =3D virFileOpenAs(from, O_RDONLY, 0, -1, -1, 0)) < 0) { virReportSystemError(-fd, @@ -792,15 +792,12 @@ libxlDomainSaveImageOpen(libxlDriverPrivatePtr driver, VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE= ))) goto error; =20 - VIR_FREE(xml); - *ret_def =3D def; *ret_hdr =3D hdr; =20 return fd; =20 error: - VIR_FREE(xml); virDomainDefFree(def); VIR_FORCE_CLOSE(fd); return -1; @@ -951,7 +948,7 @@ libxlDomainAutoCoreDump(libxlDriverPrivatePtr driver, g_autoptr(libxlDriverConfig) cfg =3D libxlDriverConfigGet(driver); g_autoptr(GDateTime) now =3D g_date_time_new_now_local(); g_autofree char *nowstr =3D NULL; - char *dumpfile =3D NULL; + g_autofree char *dumpfile =3D NULL; =20 nowstr =3D g_date_time_format(now, "%Y-%m-%d-%H:%M:%S"); =20 @@ -963,7 +960,6 @@ libxlDomainAutoCoreDump(libxlDriverPrivatePtr driver, libxl_domain_core_dump(cfg->ctx, vm->def->id, dumpfile, NULL); virObjectLock(vm); =20 - VIR_FREE(dumpfile); return 0; } =20 @@ -1262,8 +1258,8 @@ libxlDomainStart(libxlDriverPrivatePtr driver, libxlSavefileHeader hdr; int ret =3D -1; uint32_t domid =3D 0; - char *dom_xml =3D NULL; - char *managed_save_path =3D NULL; + g_autofree char *dom_xml =3D NULL; + g_autofree char *managed_save_path =3D NULL; int managed_save_fd =3D -1; libxlDomainObjPrivatePtr priv =3D vm->privateData; g_autoptr(libxlDriverConfig) cfg =3D libxlDriverConfigGet(driver); @@ -1271,7 +1267,7 @@ libxlDomainStart(libxlDriverPrivatePtr driver, libxl_asyncprogress_how aop_console_how; libxl_domain_restore_params params; unsigned int hostdev_flags =3D VIR_HOSTDEV_SP_PCI; - char *config_json =3D NULL; + g_autofree char *config_json =3D NULL; =20 #ifdef LIBXL_HAVE_PVUSB hostdev_flags |=3D VIR_HOSTDEV_SP_USB; @@ -1513,9 +1509,6 @@ libxlDomainStart(libxlDriverPrivatePtr driver, =20 cleanup: libxl_domain_config_dispose(&d_config); - VIR_FREE(config_json); - VIR_FREE(dom_xml); - VIR_FREE(managed_save_path); virDomainDefFree(def); VIR_FORCE_CLOSE(managed_save_fd); return ret; diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 2e002b2930..fcb203ab98 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -533,7 +533,7 @@ libxlDriverShouldLoad(bool privileged) =20 if (virFileExists(HYPERVISOR_CAPABILITIES)) { int status; - char *output =3D NULL; + g_autofree char *output =3D NULL; /* * Don't load if not running on a Xen control domain (dom0). It is= not * sufficient to check for the file to exist as any guest can mount @@ -542,7 +542,6 @@ libxlDriverShouldLoad(bool privileged) status =3D virFileReadAll(HYPERVISOR_CAPABILITIES, 10, &output); if (status >=3D 0) status =3D strncmp(output, "control_d", 9); - VIR_FREE(output); if (status) { VIR_INFO("No Xen capabilities detected, probably not running " "in a Xen Dom0. Disabling libxenlight driver"); @@ -1819,7 +1818,7 @@ libxlDoDomainSave(libxlDriverPrivatePtr driver, libxlDriverConfigPtr cfg =3D libxlDriverConfigGet(driver); libxlSavefileHeader hdr; virObjectEventPtr event =3D NULL; - char *xml =3D NULL; + g_autofree char *xml =3D NULL; uint32_t xml_len; int fd =3D -1; int ret =3D -1; @@ -1889,7 +1888,6 @@ libxlDoDomainSave(libxlDriverPrivatePtr driver, ret =3D 0; =20 cleanup: - VIR_FREE(xml); if (VIR_CLOSE(fd) < 0) virReportSystemError(errno, "%s", _("cannot close file")); virObjectEventStateQueue(driver->domainEventState, event); @@ -2117,7 +2115,7 @@ libxlDomainManagedSave(virDomainPtr dom, unsigned int= flags) { libxlDriverPrivatePtr driver =3D dom->conn->privateData; virDomainObjPtr vm =3D NULL; - char *name =3D NULL; + g_autofree char *name =3D NULL; int ret =3D -1; =20 virCheckFlags(0, -1); @@ -2160,7 +2158,6 @@ libxlDomainManagedSave(virDomainPtr dom, unsigned int= flags) =20 cleanup: virDomainObjEndAPI(&vm); - VIR_FREE(name); return ret; } =20 @@ -2213,7 +2210,7 @@ libxlDomainManagedSaveRemove(virDomainPtr dom, unsign= ed int flags) libxlDriverPrivatePtr driver =3D dom->conn->privateData; virDomainObjPtr vm =3D NULL; int ret =3D -1; - char *name =3D NULL; + g_autofree char *name =3D NULL; =20 virCheckFlags(0, -1); =20 @@ -2231,7 +2228,6 @@ libxlDomainManagedSaveRemove(virDomainPtr dom, unsign= ed int flags) vm->hasManagedSave =3D false; =20 cleanup: - VIR_FREE(name); virDomainObjEndAPI(&vm); return ret; } @@ -2917,7 +2913,7 @@ libxlDomainUndefineFlags(virDomainPtr dom, libxlDriverConfigPtr cfg =3D libxlDriverConfigGet(driver); virDomainObjPtr vm; virObjectEventPtr event =3D NULL; - char *name =3D NULL; + g_autofree char *name =3D NULL; int ret =3D -1; =20 virCheckFlags(VIR_DOMAIN_UNDEFINE_MANAGED_SAVE, -1); @@ -2967,7 +2963,6 @@ libxlDomainUndefineFlags(virDomainPtr dom, ret =3D 0; =20 cleanup: - VIR_FREE(name); virDomainObjEndAPI(&vm); virObjectEventStateQueue(driver->domainEventState, event); virObjectUnref(cfg); @@ -4518,7 +4513,8 @@ libxlDomainSetAutostart(virDomainPtr dom, int autosta= rt) libxlDriverPrivatePtr driver =3D dom->conn->privateData; libxlDriverConfigPtr cfg =3D libxlDriverConfigGet(driver); virDomainObjPtr vm; - char *configFile =3D NULL, *autostartLink =3D NULL; + g_autofree char *configFile =3D NULL; + g_autofree char *autostartLink =3D NULL; int ret =3D -1; =20 if (!(vm =3D libxlDomObjFromDomain(dom))) @@ -4577,8 +4573,6 @@ libxlDomainSetAutostart(virDomainPtr dom, int autosta= rt) libxlDomainObjEndJob(driver, vm); =20 cleanup: - VIR_FREE(configFile); - VIR_FREE(autostartLink); virDomainObjEndAPI(&vm); virObjectUnref(cfg); return ret; @@ -4882,7 +4876,7 @@ libxlDomainGetNumaParameters(virDomainPtr dom, virDomainObjPtr vm; libxl_bitmap nodemap; virBitmapPtr nodes =3D NULL; - char *nodeset =3D NULL; + g_autofree char *nodeset =3D NULL; int rc, ret =3D -1; size_t i, j; =20 @@ -4981,7 +4975,6 @@ libxlDomainGetNumaParameters(virDomainPtr dom, ret =3D 0; =20 cleanup: - VIR_FREE(nodeset); virBitmapFree(nodes); libxl_bitmap_dispose(&nodemap); virDomainObjEndAPI(&vm); @@ -5783,7 +5776,7 @@ libxlNodeDeviceDetachFlags(virNodeDevicePtr dev, virPCIDeviceAddress devAddr; int ret =3D -1; virNodeDeviceDefPtr def =3D NULL; - char *xml =3D NULL; + g_autofree char *xml =3D NULL; libxlDriverPrivatePtr driver =3D dev->conn->privateData; virHostdevManagerPtr hostdev_mgr =3D driver->hostdevMgr; virConnectPtr nodeconn =3D NULL; @@ -5839,7 +5832,6 @@ libxlNodeDeviceDetachFlags(virNodeDevicePtr dev, virNodeDeviceDefFree(def); virObjectUnref(nodedev); virObjectUnref(nodeconn); - VIR_FREE(xml); return ret; } =20 @@ -5856,7 +5848,7 @@ libxlNodeDeviceReAttach(virNodeDevicePtr dev) virPCIDeviceAddress devAddr; int ret =3D -1; virNodeDeviceDefPtr def =3D NULL; - char *xml =3D NULL; + g_autofree char *xml =3D NULL; libxlDriverPrivatePtr driver =3D dev->conn->privateData; virHostdevManagerPtr hostdev_mgr =3D driver->hostdevMgr; virConnectPtr nodeconn =3D NULL; @@ -5903,7 +5895,6 @@ libxlNodeDeviceReAttach(virNodeDevicePtr dev) virNodeDeviceDefFree(def); virObjectUnref(nodedev); virObjectUnref(nodeconn); - VIR_FREE(xml); return ret; } =20 @@ -5914,7 +5905,7 @@ libxlNodeDeviceReset(virNodeDevicePtr dev) virPCIDeviceAddress devAddr; int ret =3D -1; virNodeDeviceDefPtr def =3D NULL; - char *xml =3D NULL; + g_autofree char *xml =3D NULL; libxlDriverPrivatePtr driver =3D dev->conn->privateData; virHostdevManagerPtr hostdev_mgr =3D driver->hostdevMgr; virConnectPtr nodeconn =3D NULL; @@ -5961,7 +5952,6 @@ libxlNodeDeviceReset(virNodeDevicePtr dev) virNodeDeviceDefFree(def); virObjectUnref(nodedev); virObjectUnref(nodeconn); - VIR_FREE(xml); return ret; } =20 diff --git a/src/libxl/libxl_logger.c b/src/libxl/libxl_logger.c index 93a9c76b25..39e59d9231 100644 --- a/src/libxl/libxl_logger.c +++ b/src/libxl/libxl_logger.c @@ -65,7 +65,7 @@ libvirt_vmessage(xentoollog_logger *logger_in, xentoollog_logger_libvirt *lg =3D (xentoollog_logger_libvirt *)logger_= in; FILE *logFile =3D lg->defaultLogFile; char timestamp[VIR_TIME_STRING_BUFLEN]; - char *message =3D NULL; + g_autofree char *message =3D NULL; char *start, *end; =20 VIR_DEBUG("libvirt_vmessage: context=3D'%s' format=3D'%s'", context, f= ormat); @@ -107,8 +107,6 @@ libvirt_vmessage(xentoollog_logger *logger_in, =20 fputc('\n', logFile); fflush(logFile); - - VIR_FREE(message); } =20 static void @@ -135,7 +133,7 @@ libxlLoggerNew(const char *logDir, virLogPriority minLe= vel) { xentoollog_logger_libvirt logger; libxlLoggerPtr logger_out =3D NULL; - char *path =3D NULL; + g_autofree char *path =3D NULL; =20 switch (minLevel) { case VIR_LOG_DEBUG: @@ -164,7 +162,6 @@ libxlLoggerNew(const char *logDir, virLogPriority minLe= vel) logger_out =3D XTL_NEW_LOGGER(libvirt, logger); =20 cleanup: - VIR_FREE(path); return logger_out; =20 error: @@ -188,9 +185,9 @@ libxlLoggerOpenFile(libxlLoggerPtr logger, const char *name, const char *domain_config) { - char *path =3D NULL; + g_autofree char *path =3D NULL; FILE *logFile =3D NULL; - char *domidstr =3D NULL; + g_autofree char *domidstr =3D NULL; =20 path =3D g_strdup_printf("%s/%s.log", logger->logDir, name); domidstr =3D g_strdup_printf("%d", id); @@ -198,7 +195,7 @@ libxlLoggerOpenFile(libxlLoggerPtr logger, if (!(logFile =3D fopen(path, "a"))) { VIR_WARN("Failed to open log file %s: %s", path, g_strerror(errno)); - goto cleanup; + return; } ignore_value(virHashAddEntry(logger->files, domidstr, logFile)); =20 @@ -207,19 +204,13 @@ libxlLoggerOpenFile(libxlLoggerPtr logger, fprintf(logFile, "Domain start: %s\n", domain_config); fflush(logFile); } - - cleanup: - VIR_FREE(path); - VIR_FREE(domidstr); } =20 void libxlLoggerCloseFile(libxlLoggerPtr logger, int id) { - char *domidstr =3D NULL; + g_autofree char *domidstr =3D NULL; domidstr =3D g_strdup_printf("%d", id); =20 ignore_value(virHashRemoveEntry(logger->files, domidstr)); - - VIR_FREE(domidstr); } diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c index c56fdd98ab..631f67930d 100644 --- a/src/libxl/libxl_migration.c +++ b/src/libxl/libxl_migration.c @@ -150,7 +150,7 @@ libxlMigrationEatCookie(const char *cookiein, libxlMigrationCookiePtr mig =3D NULL; xmlDocPtr doc =3D NULL; xmlXPathContextPtr ctxt =3D NULL; - char *uuidstr =3D NULL; + g_autofree char *uuidstr =3D NULL; int ret =3D -1; =20 /* @@ -216,7 +216,6 @@ libxlMigrationEatCookie(const char *cookiein, libxlMigrationCookieFree(mig); =20 cleanup: - VIR_FREE(uuidstr); xmlXPathFreeContext(ctxt); xmlFreeDoc(doc); return ret; @@ -840,7 +839,7 @@ struct _libxlTunnelMigrationThread { static void libxlTunnel3MigrationSrcFunc(void *arg) { libxlTunnelMigrationThread *data =3D (libxlTunnelMigrationThread *)arg; - char *buffer =3D NULL; + g_autofree char *buffer =3D NULL; struct pollfd fds[1]; int timeout =3D -1; =20 @@ -858,7 +857,7 @@ static void libxlTunnel3MigrationSrcFunc(void *arg) continue; virReportError(errno, "%s", _("poll failed in libxlTunnel3MigrationSrcFunc"= )); - goto cleanup; + return; } =20 if (ret =3D=3D 0) { @@ -874,13 +873,13 @@ static void libxlTunnel3MigrationSrcFunc(void *arg) /* Write to dest stream */ if (virStreamSend(data->st, buffer, nbytes) < 0) { virStreamAbort(data->st); - goto cleanup; + return; } } else if (nbytes < 0) { virReportError(errno, "%s", _("tunnelled migration failed to read from = xen side")); virStreamAbort(data->st); - goto cleanup; + return; } else { /* EOF; transferred all data */ break; @@ -889,10 +888,6 @@ static void libxlTunnel3MigrationSrcFunc(void *arg) } =20 ignore_value(virStreamFinish(data->st)); - - cleanup: - VIR_FREE(buffer); - return; } =20 diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c index f852032d8a..781483f496 100644 --- a/src/libxl/xen_common.c +++ b/src/libxl/xen_common.c @@ -2102,29 +2102,24 @@ xenFormatCharDev(virConfPtr conf, virDomainDefPtr d= ef, static int xenFormatCPUAllocation(virConfPtr conf, virDomainDefPtr def) { - int ret =3D -1; - char *cpus =3D NULL; + g_autofree char *cpus =3D NULL; =20 if (virDomainDefGetVcpus(def) < virDomainDefGetVcpusMax(def) && xenConfigSetInt(conf, "maxvcpus", virDomainDefGetVcpusMax(def)) < = 0) - goto cleanup; + return -1; if (xenConfigSetInt(conf, "vcpus", virDomainDefGetVcpus(def)) < 0) - goto cleanup; + return -1; =20 if ((def->cpumask !=3D NULL) && ((cpus =3D virBitmapFormat(def->cpumask)) =3D=3D NULL)) { - goto cleanup; + return -1; } =20 if (cpus && xenConfigSetString(conf, "cpus", cpus) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - - cleanup: - VIR_FREE(cpus); - return ret; + return 0; } =20 =20 diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index 494b5f3dd2..4113be8cd1 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -1373,7 +1373,7 @@ static int xenFormatXLCPUID(virConfPtr conf, virDomainDefPtr def) { char **cpuid_pairs =3D NULL; - char *cpuid_string =3D NULL; + g_autofree char *cpuid_string =3D NULL; size_t i, j; int ret =3D -1; =20 @@ -1431,7 +1431,6 @@ xenFormatXLCPUID(virConfPtr conf, virDomainDefPtr def) =20 cleanup: g_strfreev(cpuid_pairs); - VIR_FREE(cpuid_string); return ret; } =20 @@ -1686,7 +1685,7 @@ xenFormatXLDisk(virConfValuePtr list, virDomainDiskDe= fPtr disk) virConfValuePtr val, tmp; int format =3D virDomainDiskGetFormat(disk); const char *driver =3D virDomainDiskGetDriver(disk); - char *target =3D NULL; + g_autofree char *target =3D NULL; int ret =3D -1; =20 /* format */ @@ -1772,7 +1771,6 @@ xenFormatXLDisk(virConfValuePtr list, virDomainDiskDe= fPtr disk) ret =3D 0; =20 cleanup: - VIR_FREE(target); return ret; } =20 --=20 2.29.2