---
tests/commandtest.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/tests/commandtest.c b/tests/commandtest.c
index 93c6333..3bfc358 100644
--- a/tests/commandtest.c
+++ b/tests/commandtest.c
@@ -680,7 +680,7 @@ static int test17(const void *unused ATTRIBUTE_UNUSED)
goto cleanup;
}
- if (!outbuf || *outbuf) {
+ if (*outbuf) {
puts("output buffer is not an allocated empty string");
goto cleanup;
}
@@ -702,7 +702,7 @@ static int test17(const void *unused ATTRIBUTE_UNUSED)
goto cleanup;
}
- if (!outbuf || *outbuf || !errbuf || *errbuf) {
+ if (*outbuf || *errbuf) {
puts("output buffers are not allocated empty strings");
goto cleanup;
}
@@ -936,6 +936,7 @@ mymain(void)
int fd;
virCommandTestDataPtr test = NULL;
int timer = -1;
+ int virinitret;
if (virThreadInitialize() < 0)
return EXIT_FAILURE;
@@ -963,16 +964,19 @@ mymain(void)
dup2(fd, 6) < 0 ||
dup2(fd, 7) < 0 ||
dup2(fd, 8) < 0 ||
- (fd > 8 && VIR_CLOSE(fd) < 0))
+ (fd > 8 && VIR_CLOSE(fd) < 0)) {
+ VIR_FORCE_CLOSE(fd);
return EXIT_FAILURE;
+ }
+ sa_assert(fd == -1);
/* Prime the debug/verbose settings from the env vars,
* since we're about to reset 'environ' */
ignore_value(virTestGetDebug());
ignore_value(virTestGetVerbose());
- if (virInitialize() < 0)
- return EXIT_FAILURE;
+ /* Make sure to not leak fd's */
+ virinitret = virInitialize();
/* Phase two of killing interfering fds; see above. */
fd = 3;
@@ -988,6 +992,9 @@ mymain(void)
fd = 8;
VIR_FORCE_CLOSE(fd);
+ if (virinitret < 0)
+ return EXIT_FAILURE;
+
virEventRegisterDefaultImpl();
if (VIR_ALLOC(test) < 0) {
virReportOOMError();
--
1.7.11.7