Re: [PATCH v1 12/40] util: mdev: use VIR_AUTOFREE instead of VIR_FREE for scalar types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jul 21, 2018 at 05:36:44PM +0530, Sukrit Bhatnagar wrote:
> 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 <skrtbhtngr@xxxxxxxxx>
> ---
...

> @@ -218,34 +208,30 @@ virMediatedDeviceGetPath(virMediatedDevicePtr dev)
>  char *
>  virMediatedDeviceGetIOMMUGroupDev(const char *uuidstr)
>  {
> -    char *result_path = NULL;
> -    char *iommu_path = NULL;
> +    VIR_AUTOFREE(char *) result_path = NULL;
> +    VIR_AUTOFREE(char *) iommu_path = NULL;
> +    VIR_AUTOFREE(char *) dev_path = virMediatedDeviceGetSysfsPath(uuidstr);
>      char *vfio_path = NULL;
> -    char *dev_path = virMediatedDeviceGetSysfsPath(uuidstr);
>
>      if (!dev_path)
>          return NULL;
>
>      if (virAsprintf(&iommu_path, "%s/iommu_group", dev_path) < 0)
> -        goto cleanup;
> +        return NULL;
>
>      if (!virFileExists(iommu_path)) {
>          virReportSystemError(errno, _("failed to access '%s'"), iommu_path);
> -        goto cleanup;
> +        return NULL;
>      }
>
>      if (virFileResolveLink(iommu_path, &result_path) < 0) {
>          virReportSystemError(errno, _("failed to resolve '%s'"), iommu_path);
> -        goto cleanup;
> +        return NULL;
>      }
>
>      if (virAsprintf(&vfio_path, "/dev/vfio/%s", last_component(result_path)) < 0)
> -        goto cleanup;
> +        return vfio_path;

I'd rather you returned NULL ^here.

With that:
Reviewed-by: Erik Skultety <eskultet@xxxxxxxxxx>

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux