On Mon, Jul 30, 2018 at 09:48:51AM +0100, Daniel P. Berrangé wrote: > On Mon, Jul 30, 2018 at 10:25:05AM +0200, Michal Privoznik wrote: > > One of the attributes that original virCgroupFree() had was it > > set passed pointer to NULL. For instance in the following code > > the latter call would be practically a no-op: > > > > virCgroupFree(&var); > > virCgroupFree(&var); > > > > However, this behaviour of the function was changed in > > 0f80c71822d824 but corresponding 'var = NULL' lines were not > > added leading to double free: > > Sigh, can we please just revert that change. It is going in completely the > oppposite of what we should be doing. We want to change more functions to > take a ptr to a ptr, precisely because it avoids this double-free problem. Even more crazy, this change was done so that VIR_DEFINE_AUTOPTR_FUNC() could be used to define a free function which takes a ptr to a ptr. Both of these changes should be reverted, as the previously existing virCgroupFree should be used as the attribute((cleanup)) function directly with no wrapper created. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list