test_qemu: pclose may return any != 0 on error.
[libguestfs.git] / src / launch.c
index 769dc85..310a88d 100644 (file)
@@ -1044,6 +1044,11 @@ test_qemu (guestfs_h *g)
   char cmd[1024];
   FILE *fp;
 
+  free (g->qemu_help);
+  g->qemu_help = NULL;
+  free (g->qemu_version);
+  g->qemu_version = NULL;
+
   snprintf (cmd, sizeof cmd, "LC_ALL=C '%s' -nographic -help", g->qemu);
 
   /* qemu -help should always work (qemu -version OTOH wasn't
@@ -1078,7 +1083,7 @@ test_qemu_cmd (guestfs_h *g, const char *cmd, char **ret)
     return -1;
   }
 
-  if (pclose (fp) == -1)
+  if (pclose (fp) != 0)
     return -1;
 
   return 0;