On Sat, Jul 21, 2018 at 05:36:45PM +0530, Sukrit Bhatnagar wrote: > 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 <skrtbhtngr@xxxxxxxxx> > --- ... > @@ -494,23 +491,22 @@ int > virMediatedDeviceTypeReadAttrs(const char *sysfspath, > virMediatedDeviceTypePtr *type) > { > - int ret = -1; > - virMediatedDeviceTypePtr tmp = NULL; > + VIR_AUTOPTR(virMediatedDeviceType) tmp = NULL; > > #define MDEV_GET_SYSFS_ATTR(attr, dst, cb, optional) \ > do { \ > int rc; \ > if ((rc = cb(dst, "%s/%s", sysfspath, attr)) < 0) { \ > if (rc != -2 || !optional) \ > - goto cleanup; \ > + return 0; \ Why are you returning success ^here? With that changed: Reviewed-by: Erik Skultety <eskultet@xxxxxxxxxx> -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list