On 12/03/2010 09:21 AM, Jiri Denemark wrote: > --- > tests/commandtest.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/tests/commandtest.c b/tests/commandtest.c > index ace2f33..31adeea 100644 > --- a/tests/commandtest.c > +++ b/tests/commandtest.c > @@ -509,9 +509,12 @@ cleanup: > * Only stdin/out/err open > */ > static int test15(const void *unused ATTRIBUTE_UNUSED) { > + char *cwd = NULL; > virCommandPtr cmd = virCommandNew(abs_builddir "/commandhelper"); > > - virCommandSetWorkingDirectory(cmd, abs_builddir "/commanddata"); > + if (virAsprintf(&cwd, "%s/commanddata", abs_srcdir) < 0) > + return -1; Oops - this needs to call virCommandFree(cmd) before returning. > + virCommandSetWorkingDirectory(cmd, cwd); Sweet - I knew it would be worth adding virCommandSetWorkingDirectory, even when it wasn't in Dan's original implementation. > > if (virCommandRun(cmd, NULL) < 0) { > virErrorPtr err = virGetLastError(); > @@ -519,6 +522,7 @@ static int test15(const void *unused ATTRIBUTE_UNUSED) { > return -1; > } > > + VIR_FREE(cwd); Oops - this leaks cwd if you returned 3 lines earlier. You can float the VIR_FREE(cwd) up to just after the virCommandSetWorkingDirectory call, since you don't need cwd after that point. NACK - I'll need to see a leak-free v2 before approving. -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list