From nobody Mon May 6 10:53:06 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1616581649; cv=none; d=zohomail.com; s=zohoarc; b=a3++7IXyWiRIXIsnx+dBab7NELePkL7cmKXdBsyv55SpGgGu9W1XH6s0OWX/AbipYcCVB0S9j+4JoFbG+TZIFaAkNgpkhsb25mTtL+WBCRJFmoYUHz/vrdXKRK4YD+IN9GebXMdMyxPEXXf0Ub1CAaSOfrsbryZT4lVgdbJyU+4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616581649; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Sd6co3aQR45+/Bof+txNcVEr/QX53hogrYKHvQWqhJo=; b=FWhZnUOTJePU5FT2cgtKELieLLhYD1w+DOFZcltQwbI53gHKRDIROcjhctXayyTT+g9RcouzZqz/UgslvDWdOklJRQk0JJgBDh4Oori3QZqLdLzE4wW5POEkKgK3XaINfyTxq7yNP2iStRIjAe3YZCUWxSFVvYxbbpJ5kkU/a3E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1616581649833977.5823534516182; Wed, 24 Mar 2021 03:27:29 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-25-Na483_0FMNKhXJ0MMPI61A-1; Wed, 24 Mar 2021 06:27:26 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D4CCC87A83E; Wed, 24 Mar 2021 10:27:19 +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 B049310013D7; Wed, 24 Mar 2021 10:27: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 B25931809C84; Wed, 24 Mar 2021 10:27:16 +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 12OARDZw025467 for ; Wed, 24 Mar 2021 06:27:13 -0400 Received: by smtp.corp.redhat.com (Postfix) id CE01A63C3F; Wed, 24 Mar 2021 10:27:13 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.194.145]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4D8725FC1D for ; Wed, 24 Mar 2021 10:27:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616581648; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Sd6co3aQR45+/Bof+txNcVEr/QX53hogrYKHvQWqhJo=; b=EqqhWwGjo0FDiHyGLJPTJQOxEObGrBDq6WpBk4/B4F/nu0XhMhkOGzy/7Hachga5mmQnTb vWA60w38oYUWunP3FH1rEFdz4PFKXkRRxD0ee5huZMSFWf9FFpvgkAgCZumgHDV24yuAbZ AQ3svdZAbfpV+30seNoh7Y+c0ZcP/Fo= X-MC-Unique: Na483_0FMNKhXJ0MMPI61A-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 1/2] esx: Fix @doms pointer steal in esxConnectListAllDomains() Date: Wed, 24 Mar 2021 11:27:06 +0100 Message-Id: <9137c0dc1eec27aaf6f25787ca96acca5b4255f8.1616581606.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The ESX implementation of virConnectListAllDomains() follows pretty much implementations in other drivers: it has local array of virDomainPtr-s which (if requested by caller) is filled by actual domains or not (if the caller is interested only in the count of domains). Anyway, in case of the former, the passed @domains argument is set to the local array, which is then set to NULL to prevent it from freeing under cleanup label. Pretty standard pattern. Except, the local array is set to NULL always. Even if the local array is not stolen. Fortunately, this doesn't lead to a memory leak, because if caller is not interested in the array, none is allocated. But it doesn't set good example and also breaks my spatch rules. Signed-off-by: Michal Privoznik Reviewed-by: Erik Skultety --- src/esx/esx_driver.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c index 21705ef6e3..1c68776c18 100644 --- a/src/esx/esx_driver.c +++ b/src/esx/esx_driver.c @@ -4929,9 +4929,10 @@ esxConnectListAllDomains(virConnectPtr conn, doms[count++] =3D dom; } =20 - if (doms) + if (doms) { *domains =3D doms; - doms =3D NULL; + doms =3D NULL; + } ret =3D count; =20 cleanup: --=20 2.26.2 From nobody Mon May 6 10:53:06 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1616581650; cv=none; d=zohomail.com; s=zohoarc; b=GiA8dOZR3+MkJDhinSlzTuUYa2Aei2WmBvVVQdhAooSLv6uWvl245s5vwfSoxJEPgv7C55uGKZzQd2C2dpuqFEP3zOQA3nfsNjG+M8Sdk/W8IKbOT6nnEeRuqf7Y0nHACxxJuurC/cBFh8imSsFNWtxJc3bJMT/xNRIa3XdBiXI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616581650; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FCBlVDQJ+1E92eYBRfqp8FzC0/e2GbAFsEAgxnJ2rxo=; b=BBNmJxRK9SPaDjXGPPUwvqN5UDzAIVPZVLLJRk0ZX66B9RdPoCUtCPuTq8+CxLuoG37o0l3g3gocsQ9EoYDRl3ru4OwckNycGTWQ2J38EPaZE8KsUvgJEpK9I0pU4y/6SyEM0scg2mi9gTNrAzgj5jDYmi17pn8TjZAf5Muw484= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1616581650058341.9149038405694; Wed, 24 Mar 2021 03:27:30 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-497-XlfN6T6aPr22XRYL0LmyEg-1; Wed, 24 Mar 2021 06:27:26 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EC65881624; Wed, 24 Mar 2021 10:27:19 +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 B61D1709ED; Wed, 24 Mar 2021 10:27: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 706F91800215; Wed, 24 Mar 2021 10:27:17 +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 12OARFA6025475 for ; Wed, 24 Mar 2021 06:27:15 -0400 Received: by smtp.corp.redhat.com (Postfix) id 0BA2D63C3F; Wed, 24 Mar 2021 10:27:15 +0000 (UTC) Received: from localhost.localdomain (unknown [10.40.194.145]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2D2F25FC1D for ; Wed, 24 Mar 2021 10:27:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616581648; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=FCBlVDQJ+1E92eYBRfqp8FzC0/e2GbAFsEAgxnJ2rxo=; b=MAbyh2NIUairtBCTgKUri7zWq0fw4XZOOK2b7+4TFRxBduYhLpTa+U5Xj0EO/c6VggwABx bnDUcx8luULG3qRWFEtVi6bscu2ZdD2S7Qf/voDeYTrtdfaI8W45S4XM5JWPOUz2n5avJF Kp0LVpoPn3VPQj0D601jMuiBio+w9O8= X-MC-Unique: XlfN6T6aPr22XRYL0LmyEg-1 From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 2/2] lib: Use g_steal_pointer() more Date: Wed, 24 Mar 2021 11:27:07 +0100 Message-Id: <875affdf9f078fb61b0318072882f219b199b72a.1616581606.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Generated by the following spatch: @@ expression a, b; @@ + b =3D g_steal_pointer(&a); - b =3D a; ... when !=3D a - a =3D NULL; Signed-off-by: Michal Privoznik Reviewed-by: Erik Skultety --- src/conf/capabilities.c | 3 +-- src/conf/domain_addr.c | 6 ++--- src/conf/domain_conf.c | 3 +-- src/conf/node_device_conf.c | 3 +-- src/conf/nwfilter_conf.c | 3 +-- src/conf/object_event.c | 3 +-- src/conf/virdomainmomentobjlist.c | 8 +++--- src/conf/virinterfaceobj.c | 3 +-- src/conf/virnetworkobj.c | 12 +++------ src/conf/virstorageobj.c | 3 +-- src/esx/esx_driver.c | 9 +++---- src/esx/esx_vi.c | 3 +-- src/hypervisor/domain_driver.c | 3 +-- src/interface/interface_backend_netcf.c | 3 +-- src/libxl/libxl_driver.c | 12 +++------ src/libxl/libxl_migration.c | 6 ++--- src/libxl/xen_xl.c | 6 ++--- src/lxc/lxc_controller.c | 3 +-- src/lxc/lxc_driver.c | 12 +++------ src/lxc/lxc_monitor.c | 3 +-- src/lxc/lxc_native.c | 3 +-- src/lxc/lxc_process.c | 3 +-- src/node_device/node_device_udev.c | 3 +-- src/qemu/qemu_agent.c | 3 +-- src/qemu/qemu_blockjob.c | 6 ++--- src/qemu/qemu_domain_address.c | 6 ++--- src/qemu/qemu_driver.c | 36 +++++++++---------------- src/qemu/qemu_migration_cookie.c | 3 +-- src/qemu/qemu_monitor.c | 3 +-- src/qemu/qemu_monitor_json.c | 6 ++--- src/remote/remote_daemon_dispatch.c | 6 ++--- src/remote/remote_driver.c | 18 +++++-------- src/rpc/virnetclient.c | 14 ++++------ src/rpc/virnetclientstream.c | 15 ++++------- src/rpc/virnetmessage.c | 3 +-- src/rpc/virnetserverclient.c | 6 ++--- src/rpc/virnetsocket.c | 6 ++--- src/rpc/virnetsshsession.c | 3 +-- src/rpc/virnettlscontext.c | 3 +-- src/security/security_dac.c | 4 +-- src/test/test_driver.c | 3 +-- src/util/virconf.c | 3 +-- src/util/virfdstream.c | 3 +-- src/util/virjson.c | 3 +-- src/vbox/vbox_common.c | 6 ++--- src/vbox/vbox_snapshot_conf.c | 7 ++--- src/vmx/vmx.c | 29 ++++++-------------- src/vz/vz_sdk.c | 18 +++++-------- tools/virsh-domain.c | 6 ++--- tools/vsh.c | 9 +++---- 50 files changed, 113 insertions(+), 231 deletions(-) diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index 573ac4e975..6c94d1c502 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -1702,8 +1702,7 @@ virCapabilitiesInitPages(virCapsPtr caps) &pages_size, NULL, NULL, &npages) < 0) goto cleanup; =20 - caps->host.pagesSize =3D pages_size; - pages_size =3D NULL; + caps->host.pagesSize =3D g_steal_pointer(&pages_size); caps->host.nPagesSize =3D npages; npages =3D 0; =20 diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 9167b489d1..0dcd690a5f 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -1995,8 +1995,7 @@ virDomainUSBAddressSetAddController(virDomainUSBAddre= ssSetPtr addrs, if (!(hub =3D virDomainUSBAddressHubNew(nports))) goto cleanup; =20 - addrs->buses[cont->idx] =3D hub; - hub =3D NULL; + addrs->buses[cont->idx] =3D g_steal_pointer(&hub); =20 ret =3D 0; cleanup: @@ -2112,8 +2111,7 @@ virDomainUSBAddressSetAddHub(virDomainUSBAddressSetPt= r addrs, goto cleanup; } ignore_value(virBitmapSetBit(targetHub->portmap, targetPort)); - targetHub->ports[targetPort] =3D newHub; - newHub =3D NULL; + targetHub->ports[targetPort] =3D g_steal_pointer(&newHub); =20 ret =3D 0; cleanup: diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index b7f9c01e88..aabd9f5c6e 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -3961,9 +3961,8 @@ virDomainObjRemoveTransientDef(virDomainObjPtr domain) return; =20 virDomainDefFree(domain->def); - domain->def =3D domain->newDef; + domain->def =3D g_steal_pointer(&domain->newDef); domain->def->id =3D -1; - domain->newDef =3D NULL; } =20 =20 diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c index 298cb8fd37..b1739ceb01 100644 --- a/src/conf/node_device_conf.c +++ b/src/conf/node_device_conf.c @@ -1866,8 +1866,7 @@ virNodeDevCapPCIDevParseXML(xmlXPathContextPtr ctxt, if (virPCIEDeviceInfoParseXML(ctxt, pciExpress, pci_express) < 0) goto out; =20 - pci_dev->pci_express =3D pci_express; - pci_express =3D NULL; + pci_dev->pci_express =3D g_steal_pointer(&pci_express); pci_dev->flags |=3D VIR_NODE_DEV_CAP_FLAG_PCIE; } =20 diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index 3cc45394c0..dc1b879eb3 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -2644,7 +2644,7 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) name_prefix =3D virNWFilterIsAllowedChain(chain); if (name_prefix =3D=3D NULL) goto cleanup; - ret->chainsuffix =3D chain; + ret->chainsuffix =3D g_steal_pointer(&chain); =20 if (chain_pri_s) { ret->chainPriority =3D chain_priority; @@ -2656,7 +2656,6 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt) NWFILTER_MIN_FILTER_PRIORITY) / 2; } } - chain =3D NULL; } else { ret->chainsuffix =3D g_strdup(virNWFilterChainSuffixTypeToString(V= IR_NWFILTER_CHAINSUFFIX_ROOT)); } diff --git a/src/conf/object_event.c b/src/conf/object_event.c index 5d7d45355e..4a9450dd9c 100644 --- a/src/conf/object_event.c +++ b/src/conf/object_event.c @@ -805,9 +805,8 @@ virObjectEventStateFlush(virObjectEventStatePtr state) /* Copy the queue, so we're reentrant safe when dispatchFunc drops the * driver lock */ tempQueue.count =3D state->queue->count; - tempQueue.events =3D state->queue->events; + tempQueue.events =3D g_steal_pointer(&state->queue->events); state->queue->count =3D 0; - state->queue->events =3D NULL; if (state->timer !=3D -1) virEventUpdateTimeout(state->timer, -1); =20 diff --git a/src/conf/virdomainmomentobjlist.c b/src/conf/virdomainmomentob= jlist.c index 7d639c4e01..879bc56472 100644 --- a/src/conf/virdomainmomentobjlist.c +++ b/src/conf/virdomainmomentobjlist.c @@ -133,11 +133,10 @@ virDomainMomentDropParent(virDomainMomentObjPtr momen= t) curr =3D curr->sibling; } if (prev) - prev->sibling =3D moment->sibling; + prev->sibling =3D g_steal_pointer(&moment->sibling); else - moment->parent->first_child =3D moment->sibling; + moment->parent->first_child =3D g_steal_pointer(&moment->sibling); moment->parent =3D NULL; - moment->sibling =3D NULL; } =20 =20 @@ -201,9 +200,8 @@ virDomainMomentMoveChildren(virDomainMomentObjPtr from, child =3D child->sibling; } to->nchildren +=3D from->nchildren; - to->first_child =3D from->first_child; + to->first_child =3D g_steal_pointer(&from->first_child); from->nchildren =3D 0; - from->first_child =3D NULL; } =20 =20 diff --git a/src/conf/virinterfaceobj.c b/src/conf/virinterfaceobj.c index cc990a05cd..909075c029 100644 --- a/src/conf/virinterfaceobj.c +++ b/src/conf/virinterfaceobj.c @@ -330,8 +330,7 @@ virInterfaceObjListExport(virConnectPtr conn, if (data.ifaces) { /* trim the array to the final size */ VIR_REALLOC_N(data.ifaces, data.nifaces + 1); - *ifaces =3D data.ifaces; - data.ifaces =3D NULL; + *ifaces =3D g_steal_pointer(&data.ifaces); } =20 ret =3D data.nifaces; diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 47739718a7..e2a6328d3d 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -696,8 +696,7 @@ virNetworkObjUnsetDefTransient(virNetworkObjPtr obj) { if (obj->newDef) { virNetworkDefFree(obj->def); - obj->def =3D obj->newDef; - obj->newDef =3D NULL; + obj->def =3D g_steal_pointer(&obj->newDef); } } =20 @@ -1309,8 +1308,7 @@ virNetworkObjUpdate(virNetworkObjPtr obj, if (livedef) { /* successfully modified copy, now replace original */ virNetworkDefFree(obj->def); - obj->def =3D livedef; - livedef =3D NULL; + obj->def =3D g_steal_pointer(&livedef); } =20 ret =3D 0; @@ -1429,8 +1427,7 @@ virNetworkObjListExport(virConnectPtr conn, if (data.nets) { /* trim the array to the final size */ VIR_REALLOC_N(data.nets, data.nnets + 1); - *nets =3D data.nets; - data.nets =3D NULL; + *nets =3D g_steal_pointer(&data.nets); } =20 ret =3D data.nnets; @@ -1817,8 +1814,7 @@ virNetworkObjPortListExport(virNetworkPtr net, if (data.ports) { /* trim the array to the final size */ VIR_REALLOC_N(data.ports, data.nports + 1); - *ports =3D data.ports; - data.ports =3D NULL; + *ports =3D g_steal_pointer(&data.ports); } =20 ret =3D data.nports; diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c index 0e27b0ca65..ef1dad597c 100644 --- a/src/conf/virstorageobj.c +++ b/src/conf/virstorageobj.c @@ -270,8 +270,7 @@ void virStoragePoolObjDefUseNewDef(virStoragePoolObjPtr obj) { virStoragePoolDefFree(obj->def); - obj->def =3D obj->newDef; - obj->newDef =3D NULL; + obj->def =3D g_steal_pointer(&obj->newDef); } =20 =20 diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c index 1c68776c18..f2395abd74 100644 --- a/src/esx/esx_driver.c +++ b/src/esx/esx_driver.c @@ -911,8 +911,7 @@ esxConnectOpen(virConnectPtr conn, virConnectAuthPtr au= th, if (!(priv->xmlopt =3D virVMXDomainXMLConfInit(priv->caps))) goto cleanup; =20 - conn->privateData =3D priv; - priv =3D NULL; + conn->privateData =3D g_steal_pointer(&priv); result =3D VIR_DRV_OPEN_SUCCESS; =20 cleanup: @@ -3554,8 +3553,7 @@ esxDomainSetSchedulerParametersFlags(virDomainPtr dom= ain, goto cleanup; } =20 - spec->cpuAllocation->shares =3D sharesInfo; - sharesInfo =3D NULL; + spec->cpuAllocation->shares =3D g_steal_pointer(&sharesInfo); =20 if (params[i].value.i >=3D 0) { spec->cpuAllocation->shares->level =3D esxVI_SharesLevel_C= ustom; @@ -4930,8 +4928,7 @@ esxConnectListAllDomains(virConnectPtr conn, } =20 if (doms) { - *domains =3D doms; - doms =3D NULL; + *domains =3D g_steal_pointer(&doms); } ret =3D count; =20 diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c index e535b28484..54f9a81d92 100644 --- a/src/esx/esx_vi.c +++ b/src/esx/esx_vi.c @@ -3511,8 +3511,7 @@ esxVI_LookupFileInfoByDatastorePath(esxVI_Context *ct= x, } } =20 - *fileInfo =3D searchResults->file; - searchResults->file =3D NULL; + *fileInfo =3D g_steal_pointer(&searchResults->file); =20 result =3D 0; =20 diff --git a/src/hypervisor/domain_driver.c b/src/hypervisor/domain_driver.c index b861e0ef9b..945d375444 100644 --- a/src/hypervisor/domain_driver.c +++ b/src/hypervisor/domain_driver.c @@ -179,8 +179,7 @@ virDomainDriverMergeBlkioDevice(virBlkioDevicePtr *dest= _array, return -1; } =20 - dest->path =3D src->path; - src->path =3D NULL; + dest->path =3D g_steal_pointer(&src->path); } } =20 diff --git a/src/interface/interface_backend_netcf.c b/src/interface/interf= ace_backend_netcf.c index 54a141eaa9..feebf414a0 100644 --- a/src/interface/interface_backend_netcf.c +++ b/src/interface/interface_backend_netcf.c @@ -516,8 +516,7 @@ static int netcfConnectListInterfacesImpl(virConnectPtr= conn, } virInterfaceDefFree(def); =20 - names[want++] =3D allnames[i]; - allnames[i] =3D NULL; + names[want++] =3D g_steal_pointer(&allnames[i]); } =20 ret =3D want; diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 830634b2bd..23ef55cf37 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -2506,8 +2506,7 @@ libxlDomainPinVcpuFlags(virDomainPtr dom, unsigned in= t vcpu, } =20 virBitmapFree(vcpuinfo->cpumask); - vcpuinfo->cpumask =3D pcpumap; - pcpumap =3D NULL; + vcpuinfo->cpumask =3D g_steal_pointer(&pcpumap); =20 ret =3D 0; =20 @@ -3530,7 +3529,7 @@ libxlDomainAttachDeviceConfig(virDomainDefPtr vmdef, = virDomainDeviceDefPtr dev) =20 switch (dev->type) { case VIR_DOMAIN_DEVICE_DISK: - disk =3D dev->data.disk; + disk =3D g_steal_pointer(&dev->data.disk); if (virDomainDiskIndexByName(vmdef, disk->dst, true) >=3D 0) { virReportError(VIR_ERR_INVALID_ARG, _("target %s already exists."), disk->dst); @@ -3538,11 +3537,10 @@ libxlDomainAttachDeviceConfig(virDomainDefPtr vmdef= , virDomainDeviceDefPtr dev) } virDomainDiskInsert(vmdef, disk); /* vmdef has the pointer. Generic codes for vmdef will do all = jobs */ - dev->data.disk =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_CONTROLLER: - controller =3D dev->data.controller; + controller =3D g_steal_pointer(&dev->data.controller); if (controller->idx !=3D -1 && virDomainControllerFind(vmdef, controller->type, controller->idx) >=3D 0) { @@ -3552,11 +3550,10 @@ libxlDomainAttachDeviceConfig(virDomainDefPtr vmdef= , virDomainDeviceDefPtr dev) } =20 virDomainControllerInsert(vmdef, controller); - dev->data.controller =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_NET: - net =3D dev->data.net; + net =3D g_steal_pointer(&dev->data.net); if (virDomainHasNet(vmdef, net)) { virReportError(VIR_ERR_INVALID_ARG, _("network device with mac %s already exist= s"), @@ -3565,7 +3562,6 @@ libxlDomainAttachDeviceConfig(virDomainDefPtr vmdef, = virDomainDeviceDefPtr dev) } if (virDomainNetInsert(vmdef, net)) return -1; - dev->data.net =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_HOSTDEV: diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c index a5a9df98ad..cb474123ea 100644 --- a/src/libxl/libxl_migration.c +++ b/src/libxl/libxl_migration.c @@ -602,11 +602,10 @@ libxlDomainMigrationDstPrepareTunnel3(virConnectPtr d= conn, args->conn =3D virObjectRef(dconn); args->vm =3D virObjectRef(vm); args->flags =3D flags; - args->migcookie =3D mig; + args->migcookie =3D g_steal_pointer(&mig); /* Receive from pipeOut */ args->recvfd =3D dataFD[0]; args->nsocks =3D 0; - mig =3D NULL; =20 VIR_FREE(priv->migrationDstReceiveThr); priv->migrationDstReceiveThr =3D g_new0(virThread, 1); @@ -768,8 +767,7 @@ libxlDomainMigrationDstPrepare(virConnectPtr dconn, args->flags =3D flags; args->socks =3D socks; args->nsocks =3D nsocks; - args->migcookie =3D mig; - mig =3D NULL; + args->migcookie =3D g_steal_pointer(&mig); =20 for (i =3D 0; i < nsocks; i++) { if (virNetSocketSetBlocking(socks[i], true) < 0) diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c index a043f298b4..65cd26bb21 100644 --- a/src/libxl/xen_xl.c +++ b/src/libxl/xen_xl.c @@ -1071,8 +1071,7 @@ xenParseXLChannel(virConfPtr conf, virDomainDefPtr de= f) if (STRPREFIX(type, "socket")) { channel->source->type =3D VIR_DOMAIN_CHR_TYPE_UNIX; channel->source->data.nix.listen =3D 1; - channel->source->data.nix.path =3D path; - path =3D NULL; + channel->source->data.nix.path =3D g_steal_pointer(&path); } else if (STRPREFIX(type, "pty")) { channel->source->type =3D VIR_DOMAIN_CHR_TYPE_PTY; VIR_FREE(path); @@ -1082,8 +1081,7 @@ xenParseXLChannel(virConfPtr conf, virDomainDefPtr de= f) =20 channel->deviceType =3D VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL; channel->targetType =3D VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_XEN; - channel->target.name =3D name; - name =3D NULL; + channel->target.name =3D g_steal_pointer(&name); =20 if (VIR_APPEND_ELEMENT(def->channels, def->nchannels, channel)= < 0) goto cleanup; diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 9c4ff5e107..ee3c77d31a 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -463,8 +463,7 @@ static int virLXCControllerSetupLoopDeviceFS(virDomainF= SDefPtr fs) */ fs->type =3D VIR_DOMAIN_FS_TYPE_BLOCK; g_free(fs->src->path); - fs->src->path =3D loname; - loname =3D NULL; + fs->src->path =3D g_steal_pointer(&loname); =20 return lofd; } diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 8e0ec82e0b..3fc15ff2ec 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -3041,7 +3041,7 @@ lxcDomainAttachDeviceConfig(virDomainDefPtr vmdef, =20 switch (dev->type) { case VIR_DOMAIN_DEVICE_DISK: - disk =3D dev->data.disk; + disk =3D g_steal_pointer(&dev->data.disk); if (virDomainDiskIndexByName(vmdef, disk->dst, true) >=3D 0) { virReportError(VIR_ERR_INVALID_ARG, _("target %s already exists."), disk->dst); @@ -3049,20 +3049,18 @@ lxcDomainAttachDeviceConfig(virDomainDefPtr vmdef, } virDomainDiskInsert(vmdef, disk); /* vmdef has the pointer. Generic codes for vmdef will do all jobs= */ - dev->data.disk =3D NULL; ret =3D 0; break; =20 case VIR_DOMAIN_DEVICE_NET: - net =3D dev->data.net; + net =3D g_steal_pointer(&dev->data.net); if (virDomainNetInsert(vmdef, net) < 0) return -1; - dev->data.net =3D NULL; ret =3D 0; break; =20 case VIR_DOMAIN_DEVICE_HOSTDEV: - hostdev =3D dev->data.hostdev; + hostdev =3D g_steal_pointer(&dev->data.hostdev); if (virDomainHostdevFind(vmdef, hostdev, NULL) >=3D 0) { virReportError(VIR_ERR_INVALID_ARG, "%s", _("device is already in the domain configuratio= n")); @@ -3070,7 +3068,6 @@ lxcDomainAttachDeviceConfig(virDomainDefPtr vmdef, } if (virDomainHostdevInsert(vmdef, hostdev) < 0) return -1; - dev->data.hostdev =3D NULL; ret =3D 0; break; =20 @@ -3095,7 +3092,7 @@ lxcDomainUpdateDeviceConfig(virDomainDefPtr vmdef, =20 switch (dev->type) { case VIR_DOMAIN_DEVICE_NET: - net =3D dev->data.net; + net =3D g_steal_pointer(&dev->data.net); if ((idx =3D virDomainNetFindIdx(vmdef, net)) < 0) return -1; =20 @@ -3109,7 +3106,6 @@ lxcDomainUpdateDeviceConfig(virDomainDefPtr vmdef, return -1; =20 virDomainNetDefFree(oldDev.data.net); - dev->data.net =3D NULL; ret =3D 0; =20 break; diff --git a/src/lxc/lxc_monitor.c b/src/lxc/lxc_monitor.c index 96c325af49..4e7fa3422b 100644 --- a/src/lxc/lxc_monitor.c +++ b/src/lxc/lxc_monitor.c @@ -211,8 +211,7 @@ void virLXCMonitorClose(virLXCMonitorPtr mon) */ VIR_DEBUG("Clear EOF callback mon=3D%p", mon); vm =3D mon->vm; - client =3D mon->client; - mon->client =3D NULL; + client =3D g_steal_pointer(&mon->client); mon->cb.eofNotify =3D NULL; =20 virObjectRef(vm); diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c index 36ae821dee..c5f2898a57 100644 --- a/src/lxc/lxc_native.c +++ b/src/lxc/lxc_native.c @@ -1007,8 +1007,7 @@ lxcBlkioDeviceWalkCallback(const char *name, virConfV= aluePtr value, void *data) if (!device) { VIR_EXPAND_N(def->blkio.devices, def->blkio.ndevices, 1); device =3D &def->blkio.devices[def->blkio.ndevices - 1]; - device->path =3D path; - path =3D NULL; + device->path =3D g_steal_pointer(&path); } =20 /* Set the value */ diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index d0b1d80523..bdf96eed3d 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -113,8 +113,7 @@ virLXCProcessReboot(virLXCDriverPtr driver, * to use the current 'def', and not switch to 'newDef'. * So temporarily hide the newDef and then reinstate it */ - savedDef =3D vm->newDef; - vm->newDef =3D NULL; + savedDef =3D g_steal_pointer(&vm->newDef); virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN); vm->newDef =3D savedDef; if (virLXCProcessStart(conn, driver, vm, diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_devi= ce_udev.c index 010ebf4e74..3f288589db 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -451,8 +451,7 @@ udevProcessPCI(struct udev_device *device, pci_express->link_sta->port =3D -1; /* PCIe can't negotiat= e port. Yet :) */ } pci_dev->flags |=3D VIR_NODE_DEV_CAP_FLAG_PCIE; - pci_dev->pci_express =3D pci_express; - pci_express =3D NULL; + pci_dev->pci_express =3D g_steal_pointer(&pci_express); } } =20 diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index 02793edd02..290f91176c 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -305,9 +305,8 @@ qemuAgentIOProcessLine(qemuAgentPtr agent, goto cleanup; } } - msg->rxObject =3D obj; + msg->rxObject =3D g_steal_pointer(&obj); msg->finished =3D true; - obj =3D NULL; } else { /* we are out of sync */ VIR_DEBUG("Ignoring delayed reply"); diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index aa065b1319..66268a365a 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -1219,8 +1219,7 @@ qemuBlockJobProcessEventCompletedCommit(virQEMUDriver= Ptr driver, job->data.commit.top =3D NULL; =20 if (cfgbaseparent) { - cfgbase =3D cfgbaseparent->backingStore; - cfgbaseparent->backingStore =3D NULL; + cfgbase =3D g_steal_pointer(&cfgbaseparent->backingStore); =20 if (cfgtopparent) cfgtopparent->backingStore =3D cfgbase; @@ -1289,8 +1288,7 @@ qemuBlockJobProcessEventCompletedActiveCommit(virQEMU= DriverPtr driver, */ qemuBlockJobRewriteConfigDiskSource(vm, job->disk, job->data.commi= t.base); } else { - cfgbase =3D cfgbaseparent->backingStore; - cfgbaseparent->backingStore =3D NULL; + cfgbase =3D g_steal_pointer(&cfgbaseparent->backingStore); cfgdisk->src =3D cfgbase; cfgdisk->src->readonly =3D cfgtop->readonly; virObjectUnref(cfgtop); diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index 68dbf9e95b..0dbf203cd0 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -2920,8 +2920,7 @@ qemuDomainAssignPCIAddresses(virDomainDefPtr def, if (obj && obj->privateData) { priv =3D obj->privateData; /* if this is the live domain object, we persist the PCI addresses= */ - priv->pciaddrs =3D addrs; - addrs =3D NULL; + priv->pciaddrs =3D g_steal_pointer(&addrs); } =20 ret =3D 0; @@ -3231,8 +3230,7 @@ qemuDomainAssignUSBAddresses(virDomainDefPtr def, =20 if (obj && obj->privateData) { priv =3D obj->privateData; - priv->usbaddrs =3D addrs; - addrs =3D NULL; + priv->usbaddrs =3D g_steal_pointer(&addrs); } ret =3D 0; =20 diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index f3f8caab44..b31be76f91 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -7238,7 +7238,7 @@ qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef, =20 switch ((virDomainDeviceType)dev->type) { case VIR_DOMAIN_DEVICE_DISK: - disk =3D dev->data.disk; + disk =3D g_steal_pointer(&dev->data.disk); if (virDomainDiskIndexByName(vmdef, disk->dst, true) >=3D 0) { virReportError(VIR_ERR_OPERATION_INVALID, _("target %s already exists"), disk->dst); @@ -7250,25 +7250,22 @@ qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef, return -1; virDomainDiskInsert(vmdef, disk); /* vmdef has the pointer. Generic codes for vmdef will do all jobs= */ - dev->data.disk =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_NET: - net =3D dev->data.net; + net =3D g_steal_pointer(&dev->data.net); if (virDomainNetInsert(vmdef, net)) return -1; - dev->data.net =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_SOUND: - sound =3D dev->data.sound; + sound =3D g_steal_pointer(&dev->data.sound); if (VIR_APPEND_ELEMENT(vmdef->sounds, vmdef->nsounds, sound) < 0) return -1; - dev->data.sound =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_HOSTDEV: - hostdev =3D dev->data.hostdev; + hostdev =3D g_steal_pointer(&dev->data.hostdev); if (virDomainHostdevFind(vmdef, hostdev, NULL) >=3D 0) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", _("device is already in the domain configuratio= n")); @@ -7276,11 +7273,10 @@ qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef, } if (virDomainHostdevInsert(vmdef, hostdev)) return -1; - dev->data.hostdev =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_LEASE: - lease =3D dev->data.lease; + lease =3D g_steal_pointer(&dev->data.lease); if (virDomainLeaseIndex(vmdef, lease) >=3D 0) { virReportError(VIR_ERR_OPERATION_INVALID, _("Lease %s in lockspace %s already exists"), @@ -7290,11 +7286,10 @@ qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef, virDomainLeaseInsert(vmdef, lease); =20 /* vmdef has the pointer. Generic codes for vmdef will do all jobs= */ - dev->data.lease =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_CONTROLLER: - controller =3D dev->data.controller; + controller =3D g_steal_pointer(&dev->data.controller); if (controller->idx !=3D -1 && virDomainControllerFind(vmdef, controller->type, controller->idx) >=3D 0) { @@ -7305,7 +7300,6 @@ qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef, } =20 virDomainControllerInsert(vmdef, controller); - dev->data.controller =3D NULL; =20 break; =20 @@ -7316,7 +7310,7 @@ qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef, break; =20 case VIR_DOMAIN_DEVICE_FS: - fs =3D dev->data.fs; + fs =3D g_steal_pointer(&dev->data.fs); if (virDomainFSIndexByName(vmdef, fs->dst) >=3D 0) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", _("Target already exists")); @@ -7325,7 +7319,6 @@ qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef, =20 if (virDomainFSInsert(vmdef, fs) < 0) return -1; - dev->data.fs =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_RNG: @@ -7357,15 +7350,14 @@ qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef, break; =20 case VIR_DOMAIN_DEVICE_REDIRDEV: - redirdev =3D dev->data.redirdev; + redirdev =3D g_steal_pointer(&dev->data.redirdev); =20 if (VIR_APPEND_ELEMENT(vmdef->redirdevs, vmdef->nredirdevs, redird= ev) < 0) return -1; - dev->data.redirdev =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_SHMEM: - shmem =3D dev->data.shmem; + shmem =3D g_steal_pointer(&dev->data.shmem); if (virDomainShmemDefFind(vmdef, shmem) >=3D 0) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", _("device is already in the domain configuratio= n")); @@ -7373,7 +7365,6 @@ qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef, } if (virDomainShmemDefInsert(vmdef, shmem) < 0) return -1; - dev->data.shmem =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_WATCHDOG: @@ -7645,7 +7636,7 @@ qemuDomainUpdateDeviceConfig(virDomainDefPtr vmdef, =20 switch ((virDomainDeviceType)dev->type) { case VIR_DOMAIN_DEVICE_DISK: - newDisk =3D dev->data.disk; + newDisk =3D g_steal_pointer(&dev->data.disk); if ((pos =3D virDomainDiskIndexByName(vmdef, newDisk->dst, false))= < 0) { virReportError(VIR_ERR_INVALID_ARG, _("target %s doesn't exist."), newDisk->dst); @@ -7660,11 +7651,10 @@ qemuDomainUpdateDeviceConfig(virDomainDefPtr vmdef, =20 virDomainDiskDefFree(vmdef->disks[pos]); vmdef->disks[pos] =3D newDisk; - dev->data.disk =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_GRAPHICS: - newGraphics =3D dev->data.graphics; + newGraphics =3D g_steal_pointer(&dev->data.graphics); pos =3D qemuDomainFindGraphicsIndex(vmdef, newGraphics); if (pos < 0) { virReportError(VIR_ERR_INVALID_ARG, @@ -7681,11 +7671,10 @@ qemuDomainUpdateDeviceConfig(virDomainDefPtr vmdef, =20 virDomainGraphicsDefFree(vmdef->graphics[pos]); vmdef->graphics[pos] =3D newGraphics; - dev->data.graphics =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_NET: - net =3D dev->data.net; + net =3D g_steal_pointer(&dev->data.net); if ((pos =3D virDomainNetFindIdx(vmdef, net)) < 0) return -1; =20 @@ -7699,7 +7688,6 @@ qemuDomainUpdateDeviceConfig(virDomainDefPtr vmdef, return -1; =20 virDomainNetDefFree(oldDev.data.net); - dev->data.net =3D NULL; break; =20 case VIR_DOMAIN_DEVICE_FS: diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_coo= kie.c index 07a97b75ff..15eaf994a9 100644 --- a/src/qemu/qemu_migration_cookie.c +++ b/src/qemu/qemu_migration_cookie.c @@ -423,8 +423,7 @@ qemuMigrationCookieAddPersistent(qemuMigrationCookiePtr= mig, if (!def || !*def) return 0; =20 - mig->persistent =3D *def; - *def =3D NULL; + mig->persistent =3D g_steal_pointer(&*def); mig->flags |=3D QEMU_MIGRATION_COOKIE_PERSISTENT; mig->flagsMandatory |=3D QEMU_MIGRATION_COOKIE_PERSISTENT; return 0; diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index ec05ac6c43..fede34210d 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -1069,8 +1069,7 @@ qemuMonitorInitBalloonObjectPath(qemuMonitorPtr mon, for (i =3D 0; i < nprops; i++) { if (STREQ(bprops[i]->name, "guest-stats-polling-interval")) { VIR_DEBUG("Found Balloon Object Path %s", path); - mon->balloonpath =3D path; - path =3D NULL; + mon->balloonpath =3D g_steal_pointer(&path); goto cleanup; } } diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index c87a4c6ed1..0602d8e0dd 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -241,9 +241,8 @@ qemuMonitorJSONIOProcessLine(qemuMonitorPtr mon, PROBE(QEMU_MONITOR_RECV_REPLY, "mon=3D%p reply=3D%s", mon, line); if (msg) { - msg->rxObject =3D obj; + msg->rxObject =3D g_steal_pointer(&obj); msg->finished =3D 1; - obj =3D NULL; ret =3D 0; } else { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -7670,8 +7669,7 @@ qemuMonitorJSONGetDeviceAliases(qemuMonitorPtr mon, alias =3D *aliases; for (i =3D 0; i < n; i++) { if (STRPREFIX(paths[i]->type, "child<")) { - *alias =3D paths[i]->name; - paths[i]->name =3D NULL; + *alias =3D g_steal_pointer(&paths[i]->name); alias++; } } diff --git a/src/remote/remote_daemon_dispatch.c b/src/remote/remote_daemon= _dispatch.c index 9700dba450..d9181c0ca6 100644 --- a/src/remote/remote_daemon_dispatch.c +++ b/src/remote/remote_daemon_dispatch.c @@ -3061,8 +3061,7 @@ remoteDispatchDomainMigratePrepare(virNetServerPtr se= rver G_GNUC_UNUSED, if (*uri_out =3D=3D NULL) { ret->uri_out =3D NULL; } else { - ret->uri_out =3D uri_out; - uri_out =3D NULL; + ret->uri_out =3D g_steal_pointer(&uri_out); } =20 rv =3D 0; @@ -5871,9 +5870,8 @@ remoteDispatchConnectGetCPUModelNames(virNetServerPtr= server G_GNUC_UNUSED, } =20 if (len && models) { - ret->models.models_val =3D models; + ret->models.models_val =3D g_steal_pointer(&models); ret->models.models_len =3D len; - models =3D NULL; } else { ret->models.models_val =3D NULL; ret->models.models_len =3D 0; diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 494f4b6dc5..62ada08344 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -3472,8 +3472,7 @@ remoteConnectFindStoragePoolSources(virConnectPtr con= n, (xdrproc_t) xdr_remote_connect_find_storage_pool_sources_ret,= (char *) &ret) =3D=3D -1) goto done; =20 - rv =3D ret.xml; - ret.xml =3D NULL; /* To stop xdr_free free'ing it */ + rv =3D g_steal_pointer(&ret.xml); /* To stop xdr_free free'ing it */ =20 xdr_free((xdrproc_t) xdr_remote_connect_find_storage_pool_sources_ret,= (char *) &ret); =20 @@ -6203,9 +6202,8 @@ remoteDomainMigrateFinish3(virConnectPtr dconn, _("caller ignores cookieout or cookieoutlen")); goto error; } - *cookieout =3D ret.cookie_out.cookie_out_val; /* Caller frees. */ + *cookieout =3D g_steal_pointer(&ret.cookie_out.cookie_out_val); /*= Caller frees. */ *cookieoutlen =3D ret.cookie_out.cookie_out_len; - ret.cookie_out.cookie_out_val =3D NULL; ret.cookie_out.cookie_out_len =3D 0; } =20 @@ -6296,8 +6294,7 @@ remoteConnectGetCPUModelNames(virConnectPtr conn, retmodels =3D g_new0(char *, ret.models.models_len + 1); =20 for (i =3D 0; i < ret.models.models_len; i++) { - retmodels[i] =3D ret.models.models_val[i]; - ret.models.models_val[i] =3D NULL; + retmodels[i] =3D g_steal_pointer(&ret.models.models_val[i]); } *models =3D g_steal_pointer(&retmodels); } @@ -7159,9 +7156,8 @@ remoteDomainMigrateFinish3Params(virConnectPtr dconn, _("caller ignores cookieout or cookieoutlen")); goto error; } - *cookieout =3D ret.cookie_out.cookie_out_val; /* Caller frees. */ + *cookieout =3D g_steal_pointer(&ret.cookie_out.cookie_out_val); /*= Caller frees. */ *cookieoutlen =3D ret.cookie_out.cookie_out_len; - ret.cookie_out.cookie_out_val =3D NULL; ret.cookie_out.cookie_out_len =3D 0; } =20 @@ -7549,8 +7545,7 @@ remoteConnectGetAllDomainStats(virConnectPtr conn, &elem->nparams)) goto cleanup; =20 - tmpret[i] =3D elem; - elem =3D NULL; + tmpret[i] =3D g_steal_pointer(&elem); } =20 *retStats =3D g_steal_pointer(&tmpret); @@ -7880,8 +7875,7 @@ remoteDomainRename(virDomainPtr dom, const char *new_= name, unsigned int flags) =20 if (rv =3D=3D 0) { VIR_FREE(dom->name); - dom->name =3D tmp; - tmp =3D NULL; + dom->name =3D g_steal_pointer(&tmp); } =20 done: diff --git a/src/rpc/virnetclient.c b/src/rpc/virnetclient.c index 1ac6bc08de..9195cb555d 100644 --- a/src/rpc/virnetclient.c +++ b/src/rpc/virnetclient.c @@ -189,10 +189,9 @@ static void virNetClientCallRemove(virNetClientCallPtr= *head, while (tmp) { if (tmp =3D=3D call) { if (prev) - prev->next =3D tmp->next; + prev->next =3D g_steal_pointer(&tmp->next); else - *head =3D tmp->next; - tmp->next =3D NULL; + *head =3D g_steal_pointer(&tmp->next); return; } prev =3D tmp; @@ -304,8 +303,7 @@ static virNetClientPtr virNetClientNew(virNetSocketPtr = sock, if (!(client =3D virObjectLockableNew(virNetClientClass))) goto error; =20 - client->sock =3D sock; - sock =3D NULL; + client->sock =3D g_steal_pointer(&sock); =20 client->eventCtx =3D g_main_context_new(); client->eventLoop =3D g_main_loop_new(client->eventCtx, FALSE); @@ -803,8 +801,7 @@ virNetClientCloseLocked(virNetClientPtr client) virObjectUnref(client->sasl); client->sasl =3D NULL; #endif - ka =3D client->keepalive; - client->keepalive =3D NULL; + ka =3D g_steal_pointer(&client->keepalive); client->wantClose =3D false; =20 virFreeError(client->error); @@ -1162,9 +1159,8 @@ virNetClientCallDispatchReply(virNetClientPtr client) thecall->msg->bufferOffset =3D client->msg.bufferOffset; =20 thecall->msg->nfds =3D client->msg.nfds; - thecall->msg->fds =3D client->msg.fds; + thecall->msg->fds =3D g_steal_pointer(&client->msg.fds); client->msg.nfds =3D 0; - client->msg.fds =3D NULL; =20 thecall->mode =3D VIR_NET_CLIENT_MODE_COMPLETE; =20 diff --git a/src/rpc/virnetclientstream.c b/src/rpc/virnetclientstream.c index f904eaba31..3bc22230b3 100644 --- a/src/rpc/virnetclientstream.c +++ b/src/rpc/virnetclientstream.c @@ -286,22 +286,18 @@ int virNetClientStreamSetError(virNetClientStreamPtr = st, st->err.code =3D err.code; } if (err.message) { - st->err.message =3D *err.message; - *err.message =3D NULL; + st->err.message =3D g_steal_pointer(&*err.message); } st->err.domain =3D err.domain; st->err.level =3D err.level; if (err.str1) { - st->err.str1 =3D *err.str1; - *err.str1 =3D NULL; + st->err.str1 =3D g_steal_pointer(&*err.str1); } if (err.str2) { - st->err.str2 =3D *err.str2; - *err.str2 =3D NULL; + st->err.str2 =3D g_steal_pointer(&*err.str2); } if (err.str3) { - st->err.str3 =3D *err.str3; - *err.str3 =3D NULL; + st->err.str3 =3D g_steal_pointer(&*err.str3); } st->err.int1 =3D err.int1; st->err.int2 =3D err.int2; @@ -343,10 +339,9 @@ int virNetClientStreamQueuePacket(virNetClientStreamPt= r st, memcpy(&tmp_msg->header, &msg->header, sizeof(msg->header)); =20 /* Steal message buffer */ - tmp_msg->buffer =3D msg->buffer; + tmp_msg->buffer =3D g_steal_pointer(&msg->buffer); tmp_msg->bufferLength =3D msg->bufferLength; tmp_msg->bufferOffset =3D msg->bufferOffset; - msg->buffer =3D NULL; msg->bufferLength =3D msg->bufferOffset =3D 0; =20 virObjectLock(st); diff --git a/src/rpc/virnetmessage.c b/src/rpc/virnetmessage.c index f2b8526817..3eecc6599d 100644 --- a/src/rpc/virnetmessage.c +++ b/src/rpc/virnetmessage.c @@ -110,8 +110,7 @@ virNetMessagePtr virNetMessageQueueServe(virNetMessageP= tr *queue) virNetMessagePtr tmp =3D *queue; =20 if (tmp) { - *queue =3D tmp->next; - tmp->next =3D NULL; + *queue =3D g_steal_pointer(&tmp->next); } =20 return tmp; diff --git a/src/rpc/virnetserverclient.c b/src/rpc/virnetserverclient.c index 6b9c1bbc64..c443673eab 100644 --- a/src/rpc/virnetserverclient.c +++ b/src/rpc/virnetserverclient.c @@ -999,8 +999,7 @@ virNetServerClientCloseLocked(virNetServerClientPtr cli= ent) =20 if (client->keepalive) { virKeepAliveStop(client->keepalive); - ka =3D client->keepalive; - client->keepalive =3D NULL; + ka =3D g_steal_pointer(&client->keepalive); virObjectRef(client); virObjectUnlock(client); virObjectUnref(ka); @@ -1398,8 +1397,7 @@ virNetServerClientDispatchWrite(virNetServerClientPtr= client) virNetMessageClear(msg); msg->bufferLength =3D VIR_NET_MESSAGE_LEN_MAX; msg->buffer =3D g_new0(char, msg->bufferLength); - client->rx =3D msg; - msg =3D NULL; + client->rx =3D g_steal_pointer(&msg); client->nrequests++; } } diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c index 0b4e21c3c9..5675c0769d 100644 --- a/src/rpc/virnetsocket.c +++ b/src/rpc/virnetsocket.c @@ -2156,11 +2156,9 @@ static void virNetSocketEventFree(void *opaque) void *eopaque; =20 virObjectLock(sock); - ff =3D sock->ff; - eopaque =3D sock->opaque; + ff =3D g_steal_pointer(&sock->ff); + eopaque =3D g_steal_pointer(&sock->opaque); sock->func =3D NULL; - sock->ff =3D NULL; - sock->opaque =3D NULL; virObjectUnlock(sock); =20 if (ff) diff --git a/src/rpc/virnetsshsession.c b/src/rpc/virnetsshsession.c index a42549dcf4..fe77594f65 100644 --- a/src/rpc/virnetsshsession.c +++ b/src/rpc/virnetsshsession.c @@ -240,8 +240,7 @@ virNetSSHKbIntCb(const char *name G_GNUC_UNUSED, =20 /* copy retrieved data back */ for (i =3D 0; i < num_prompts; i++) { - responses[i].text =3D askcred[i].result; - askcred[i].result =3D NULL; /* steal the pointer */ + responses[i].text =3D g_steal_pointer(&askcred[i].result); /* stea= l the pointer */ responses[i].length =3D askcred[i].resultlen; } =20 diff --git a/src/rpc/virnettlscontext.c b/src/rpc/virnettlscontext.c index 2936b8ba57..c1d8cdeaae 100644 --- a/src/rpc/virnettlscontext.c +++ b/src/rpc/virnettlscontext.c @@ -924,8 +924,7 @@ int virNetTLSContextReloadForServer(virNetTLSContextPtr= ctxt, g_autofree char *cert =3D NULL; g_autofree char *key =3D NULL; =20 - x509credBak =3D ctxt->x509cred; - ctxt->x509cred =3D NULL; + x509credBak =3D g_steal_pointer(&ctxt->x509cred); =20 if (virNetTLSContextLocateCredentials(NULL, tryUserPkiPath, true, &cacert, &cacrl, &cert, &key)) diff --git a/src/security/security_dac.c b/src/security/security_dac.c index 344bd6fc5f..4b7eda2e68 100644 --- a/src/security/security_dac.c +++ b/src/security/security_dac.c @@ -112,7 +112,7 @@ virSecurityDACChownListAppend(virSecurityDACChownListPt= r list, =20 tmp =3D g_strdup(path); =20 - item->path =3D tmp; + item->path =3D g_steal_pointer(&tmp); item->src =3D src; item->uid =3D uid; item->gid =3D gid; @@ -122,8 +122,6 @@ virSecurityDACChownListAppend(virSecurityDACChownListPt= r list, if (VIR_APPEND_ELEMENT(list->items, list->nItems, item) < 0) goto cleanup; =20 - tmp =3D NULL; - ret =3D 0; cleanup: VIR_FREE(tmp); diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 01b3e7bc82..0c2ebddd22 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -5829,8 +5829,7 @@ testInterfaceChangeRollback(virConnectPtr conn, } =20 virObjectUnref(privconn->ifaces); - privconn->ifaces =3D privconn->backupIfaces; - privconn->backupIfaces =3D NULL; + privconn->ifaces =3D g_steal_pointer(&privconn->backupIfaces); =20 privconn->transaction_running =3D false; =20 diff --git a/src/util/virconf.c b/src/util/virconf.c index 25a3bad50d..572fe31049 100644 --- a/src/util/virconf.c +++ b/src/util/virconf.c @@ -131,8 +131,7 @@ virConfFreeList(virConfValuePtr list) virConfValuePtr next; =20 while (list !=3D NULL) { - next =3D list->next; - list->next =3D NULL; + next =3D g_steal_pointer(&list->next); virConfFreeValue(list); list =3D next; } diff --git a/src/util/virfdstream.c b/src/util/virfdstream.c index 6a2c6844e1..3cf3a3b46a 100644 --- a/src/util/virfdstream.c +++ b/src/util/virfdstream.c @@ -173,8 +173,7 @@ virFDStreamMsgQueuePop(virFDStreamDataPtr fdst, char c; =20 if (tmp) { - fdst->msg =3D tmp->next; - tmp->next =3D NULL; + fdst->msg =3D g_steal_pointer(&tmp->next); } =20 virCondSignal(&fdst->threadCond); diff --git a/src/util/virjson.c b/src/util/virjson.c index 9eb4dc4f18..82081db870 100644 --- a/src/util/virjson.c +++ b/src/util/virjson.c @@ -944,8 +944,7 @@ virJSONValueObjectRemoveKey(virJSONValuePtr object, for (i =3D 0; i < object->data.object.npairs; i++) { if (STREQ(object->data.object.pairs[i].key, key)) { if (value) { - *value =3D object->data.object.pairs[i].value; - object->data.object.pairs[i].value =3D NULL; + *value =3D g_steal_pointer(&object->data.object.pairs[i].v= alue); } VIR_FREE(object->data.object.pairs[i].key); virJSONValueFree(object->data.object.pairs[i].value); diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c index 2ac22120d8..5a5de85eab 100644 --- a/src/vbox/vbox_common.c +++ b/src/vbox/vbox_common.c @@ -3519,14 +3519,12 @@ vboxDumpDisplay(virDomainDefPtr def, vboxDriverPtr = data, IMachine *machine) =20 if (STREQ_NULLABLE(valueTypeUtf8, "sdl")) { graphics->type =3D VIR_DOMAIN_GRAPHICS_TYPE_SDL; - graphics->data.sdl.display =3D valueDisplayUtf8; - valueDisplayUtf8 =3D NULL; + graphics->data.sdl.display =3D g_steal_pointer(&valueDisplayUt= f8); } =20 if (STREQ_NULLABLE(valueTypeUtf8, "gui")) { graphics->type =3D VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP; - graphics->data.desktop.display =3D valueDisplayUtf8; - valueDisplayUtf8 =3D NULL; + graphics->data.desktop.display =3D g_steal_pointer(&valueDispl= ayUtf8); } VBOX_UTF8_FREE(valueDisplayUtf8); } else if (STRNEQ_NULLABLE(valueTypeUtf8, "vrdp")) { diff --git a/src/vbox/vbox_snapshot_conf.c b/src/vbox/vbox_snapshot_conf.c index f9637a65ab..1e6ef81bf4 100644 --- a/src/vbox/vbox_snapshot_conf.c +++ b/src/vbox/vbox_snapshot_conf.c @@ -879,9 +879,7 @@ virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMa= chinePtr machine, =20 return 0; } - parentSnapshot =3D snapshot->parent; - - snapshot->parent =3D NULL; + parentSnapshot =3D g_steal_pointer(&snapshot->parent); while (i < parentSnapshot->nchildren && parentSnapshot->children[i] != =3D snapshot) ++i; if (VIR_DELETE_ELEMENT(parentSnapshot->children, i, parentSnapshot->nc= hildren) < 0) @@ -936,11 +934,10 @@ virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConf= MediaRegistryPtr mediaRegis return 0; } =20 - parentHardDisk =3D hardDisk->parent; + parentHardDisk =3D g_steal_pointer(&hardDisk->parent); i =3D 0; while (i < parentHardDisk->nchildren && parentHardDisk->children[i] != =3D hardDisk) ++i; - hardDisk->parent =3D NULL; if (VIR_DELETE_ELEMENT(parentHardDisk->children, i, parentHardDisk->nc= hildren) < 0) return -1; =20 diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 76d01a36de..0b12b5dd7d 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -2604,15 +2604,13 @@ virVMXParseFileSystem(virConfPtr conf, int number, = virDomainFSDefPtr *def) if (virVMXGetConfigString(conf, hostPath_name, &hostPath, false) < 0) goto cleanup; =20 - (*def)->src->path =3D hostPath; - hostPath =3D NULL; + (*def)->src->path =3D g_steal_pointer(&hostPath); =20 /* vmx:guestName */ if (virVMXGetConfigString(conf, guestName_name, &guestName, false) < 0) goto cleanup; =20 - (*def)->dst =3D guestName; - guestName =3D NULL; + (*def)->dst =3D g_steal_pointer(&guestName); =20 /* vmx:writeAccess */ if (virVMXGetConfigBoolean(conf, writeAccess_name, &writeAccess, false, @@ -2819,9 +2817,7 @@ virVMXParseEthernet(virConfPtr conf, int controller, = virDomainNetDefPtr *def) /* Setup virDomainNetDef */ if (connectionType =3D=3D NULL || STRCASEEQ(connectionType, "bridged")= ) { (*def)->type =3D VIR_DOMAIN_NET_TYPE_BRIDGE; - (*def)->data.bridge.brname =3D networkName; - - networkName =3D NULL; + (*def)->data.bridge.brname =3D g_steal_pointer(&networkName); } else if (STRCASEEQ(connectionType, "hostonly")) { /* FIXME */ virReportError(VIR_ERR_INTERNAL_ERROR, @@ -2833,11 +2829,8 @@ virVMXParseEthernet(virConfPtr conf, int controller,= virDomainNetDefPtr *def) =20 } else if (STRCASEEQ(connectionType, "custom")) { (*def)->type =3D VIR_DOMAIN_NET_TYPE_BRIDGE; - (*def)->data.bridge.brname =3D networkName; - (*def)->ifname =3D vnet; - - networkName =3D NULL; - vnet =3D NULL; + (*def)->data.bridge.brname =3D g_steal_pointer(&networkName); + (*def)->ifname =3D g_steal_pointer(&vnet); } else { virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid value '%s' for VMX entry '%s'"), connect= ionType, @@ -2952,9 +2945,7 @@ virVMXParseSerial(virVMXContext *ctx, virConfPtr conf= , int port, if (!fileType || STRCASEEQ(fileType, "device")) { (*def)->target.port =3D port; (*def)->source->type =3D VIR_DOMAIN_CHR_TYPE_DEV; - (*def)->source->data.file.path =3D fileName; - - fileName =3D NULL; + (*def)->source->data.file.path =3D g_steal_pointer(&fileName); } else if (STRCASEEQ(fileType, "file")) { (*def)->target.port =3D port; (*def)->source->type =3D VIR_DOMAIN_CHR_TYPE_FILE; @@ -2970,9 +2961,7 @@ virVMXParseSerial(virVMXContext *ctx, virConfPtr conf= , int port, */ (*def)->target.port =3D port; (*def)->source->type =3D VIR_DOMAIN_CHR_TYPE_PIPE; - (*def)->source->data.file.path =3D fileName; - - fileName =3D NULL; + (*def)->source->data.file.path =3D g_steal_pointer(&fileName); } else if (STRCASEEQ(fileType, "network")) { (*def)->target.port =3D port; (*def)->source->type =3D VIR_DOMAIN_CHR_TYPE_TCP; @@ -3118,9 +3107,7 @@ virVMXParseParallel(virVMXContext *ctx, virConfPtr co= nf, int port, if (STRCASEEQ(fileType, "device")) { (*def)->target.port =3D port; (*def)->source->type =3D VIR_DOMAIN_CHR_TYPE_DEV; - (*def)->source->data.file.path =3D fileName; - - fileName =3D NULL; + (*def)->source->data.file.path =3D g_steal_pointer(&fileName); } else if (STRCASEEQ(fileType, "file")) { (*def)->target.port =3D port; (*def)->source->type =3D VIR_DOMAIN_CHR_TYPE_FILE; diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index ea21181c25..ac00ed214e 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -768,14 +768,12 @@ prlsdkGetFSInfo(PRL_HANDLE prldisk, if (!(buf =3D prlsdkGetStringParamVar(PrlVmDev_GetImagePath, prldi= sk))) goto cleanup; =20 - fs->src->path =3D buf; - buf =3D NULL; + fs->src->path =3D g_steal_pointer(&buf); } if (!(buf =3D prlsdkGetStringParamVar(PrlVmDevHd_GetMountPoint, prldis= k))) goto cleanup; =20 - fs->dst =3D buf; - buf =3D NULL; + fs->dst =3D g_steal_pointer(&buf); =20 ret =3D 0; =20 @@ -1176,19 +1174,16 @@ prlsdkGetSerialInfo(PRL_HANDLE serialPort, virDomai= nChrDefPtr chr) switch (emulatedType) { case PDT_USE_OUTPUT_FILE: chr->source->type =3D VIR_DOMAIN_CHR_TYPE_FILE; - chr->source->data.file.path =3D friendlyName; - friendlyName =3D NULL; + chr->source->data.file.path =3D g_steal_pointer(&friendlyName); break; case PDT_USE_SERIAL_PORT_SOCKET_MODE: chr->source->type =3D VIR_DOMAIN_CHR_TYPE_UNIX; - chr->source->data.nix.path =3D friendlyName; + chr->source->data.nix.path =3D g_steal_pointer(&friendlyName); chr->source->data.nix.listen =3D socket_mode =3D=3D PSP_SERIAL_SOC= KET_SERVER; - friendlyName =3D NULL; break; case PDT_USE_REAL_DEVICE: chr->source->type =3D VIR_DOMAIN_CHR_TYPE_DEV; - chr->source->data.file.path =3D friendlyName; - friendlyName =3D NULL; + chr->source->data.file.path =3D g_steal_pointer(&friendlyName); break; case PDT_USE_TCP: chr->source->type =3D VIR_DOMAIN_CHR_TYPE_TCP; @@ -1319,8 +1314,7 @@ prlsdkAddVNCInfo(PRL_HANDLE sdkdom, virDomainDefPtr d= ef) goto error; =20 if (*passwd !=3D '\0') { - gr->data.vnc.auth.passwd =3D passwd; - passwd =3D NULL; + gr->data.vnc.auth.passwd =3D g_steal_pointer(&passwd); } =20 pret =3D PrlVmCfg_GetVNCPort(sdkdom, &port); diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index f5e98a19f8..a778421b66 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -3857,10 +3857,8 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd) continue; } =20 - vol.source =3D source; - vol.target =3D target; - source =3D NULL; - target =3D NULL; + vol.source =3D g_steal_pointer(&source); + vol.target =3D g_steal_pointer(&target); if (VIR_APPEND_ELEMENT(vols, nvols, vol) < 0) goto cleanup; } diff --git a/tools/vsh.c b/tools/vsh.c index 1ffc13d443..552ed29ab9 100644 --- a/tools/vsh.c +++ b/tools/vsh.c @@ -1425,8 +1425,7 @@ vshCommandParse(vshControl *ctl, vshCommandParser *pa= rser, vshCmd **partial) if (partial) { vshCmdOpt *arg =3D g_new0(vshCmdOpt, 1); arg->def =3D opt; - arg->data =3D tkdata; - tkdata =3D NULL; + arg->data =3D g_steal_pointer(&tkdata); arg->next =3D NULL; =20 if (parser->pos - parser->originalLine =3D=3D = parser->point - 1) @@ -1479,9 +1478,8 @@ vshCommandParse(vshControl *ctl, vshCommandParser *pa= rser, vshCmd **partial) vshCmdOpt *arg =3D g_new0(vshCmdOpt, 1); =20 arg->def =3D opt; - arg->data =3D tkdata; + arg->data =3D g_steal_pointer(&tkdata); arg->next =3D NULL; - tkdata =3D NULL; =20 if (parser->pos - parser->originalLine =3D=3D parser->poin= t) arg->completeThis =3D true; @@ -1526,10 +1524,9 @@ vshCommandParse(vshControl *ctl, vshCommandParser *p= arser, vshCmd **partial) break; } =20 - c->opts =3D first; + c->opts =3D g_steal_pointer(&first); c->def =3D cmd; c->next =3D NULL; - first =3D NULL; =20 if (!partial && vshCommandCheckOpts(ctl, c, opts_required, opts_seen) < 0)= { --=20 2.26.2