[libvirt] [PATCH v2 10/39] qemuDomainGetHostdevPath: Use more VIR_AUTOFREE/VIR_AUTOPTR
Cole Robinson
crobinso at redhat.com
Thu Oct 17 22:15:55 UTC 2019
On 9/26/19 12:12 PM, Michal Privoznik wrote:
> There are several variables which could be automatically freed
> upon return from the function. I'm not changing @tmpPaths (which
> is a string list) because it is going to be removed in next
> commit.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/qemu/qemu_domain.c | 18 ++++++------------
> 1 file changed, 6 insertions(+), 12 deletions(-)
>
With the appropriate GLib adjustments:
Reviewed-by: Cole Robinson <crobinso at redhat.com>
I see you've already made adjustments in your branch. If a v3 is coming
then I endorse pushing some of these cleanup pieces out of band, just to
reduce the patch count.
- Cole
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index c903750fa0..d8d2f72bcc 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
> @@ -12866,14 +12866,14 @@ qemuDomainGetHostdevPath(virDomainDefPtr def,
> virDomainHostdevSubsysSCSIPtr scsisrc = &dev->source.subsys.u.scsi;
> virDomainHostdevSubsysSCSIVHostPtr hostsrc = &dev->source.subsys.u.scsi_host;
> virDomainHostdevSubsysMediatedDevPtr mdevsrc = &dev->source.subsys.u.mdev;
> - virPCIDevicePtr pci = NULL;
> - virUSBDevicePtr usb = NULL;
> - virSCSIDevicePtr scsi = NULL;
> - virSCSIVHostDevicePtr host = NULL;
> - char *tmpPath = NULL;
> + VIR_AUTOPTR(virPCIDevice) pci = NULL;
> + VIR_AUTOPTR(virUSBDevice) usb = NULL;
> + VIR_AUTOPTR(virSCSIDevice) scsi = NULL;
> + VIR_AUTOPTR(virSCSIVHostDevice) host = NULL;
> + VIR_AUTOFREE(char *) tmpPath = NULL;
> bool includeVFIO = false;
> char **tmpPaths = NULL;
> - int *tmpPerms = NULL;
> + VIR_AUTOFREE(int *) tmpPerms = NULL;
> size_t tmpNpaths = 0;
> int perm = 0;
>
> @@ -13004,12 +13004,6 @@ qemuDomainGetHostdevPath(virDomainDefPtr def,
> ret = 0;
> cleanup:
> virStringListFreeCount(tmpPaths, tmpNpaths);
> - VIR_FREE(tmpPerms);
> - virPCIDeviceFree(pci);
> - virUSBDeviceFree(usb);
> - virSCSIDeviceFree(scsi);
> - virSCSIVHostDeviceFree(host);
> - VIR_FREE(tmpPath);
> return ret;
> }
>
>
- Cole
More information about the libvir-list
mailing list