p2v: close the mexp handle if mexp_spawnv fails
authorPino Toscano <ptoscano@redhat.com>
Fri, 25 Jul 2014 15:36:17 +0000 (17:36 +0200)
committerRichard W.M. Jones <rjones@redhat.com>
Tue, 12 Aug 2014 11:21:51 +0000 (12:21 +0100)
miniexpect.c

index 9e9cc0e..8c1efd9 100644 (file)
@@ -121,7 +121,7 @@ mexp_spawnl (const char *file, const char *arg, ...)
 mexp_h *
 mexp_spawnv (const char *file, char **argv)
 {
-  mexp_h *h;
+  mexp_h *h = NULL;
   int fd = -1;
   int err;
   char slave[1024];
@@ -197,6 +197,8 @@ mexp_spawnv (const char *file, char **argv)
     close (fd);
   if (pid > 0)
     waitpid (pid, NULL, 0);
+  if (h != NULL)
+    mexp_close (h);
   errno = err;
   return NULL;
 }