On 04/02/2013 05:20 PM, Michal Privoznik wrote: > The virsh domfstrim command was not freeing allocated domain, > leaving leaked references behind. > --- > tools/virsh-domain.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c > index 5ddcedc..5fbfeee 100644 > --- a/tools/virsh-domain.c > +++ b/tools/virsh-domain.c > @@ -10058,6 +10058,8 @@ cmdDomFSTrim(vshControl *ctl, const vshCmd *cmd) > ret = true; > > cleanup: > + if (dom) > + virDomainFree(dom); > return ret; > } > > Alternatively, you could also get out of this with one line less: diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index d32218f..99f19a4 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -10057,7 +10057,7 @@ cmdDomFSTrim(vshControl *ctl, const vshCmd *cmd) unsigned int flags = 0; if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) - goto cleanup; + return false; if (vshCommandOptULongLong(cmd, "minimum", &minimum) < 0) { vshError(ctl, _("Unable to parse integer parameter minimum")); @@ -10075,6 +10075,7 @@ cmdDomFSTrim(vshControl *ctl, const vshCmd *cmd) ret = true; cleanup: + virDomainFree(dom); return ret; } -- However, your approach works as well. ACK. Martin ;-) -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list