summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/smbd/chgpasswd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/smbd/chgpasswd.c b/source/smbd/chgpasswd.c
index aebdde6d34c..c9478166c4a 100644
--- a/source/smbd/chgpasswd.c
+++ b/source/smbd/chgpasswd.c
@@ -319,12 +319,14 @@ BOOL chat_with_program(char *passwordprogram,char *name,char *chatsequence, BOOL
kill(pid, SIGKILL); /* be sure to end this process */
}
- close(master);
-
if ((wpid = sys_waitpid(pid, &wstat, 0)) < 0) {
DEBUG(3,("The process is no longer waiting!\n\n"));
+ close(master);
return(False);
}
+
+ close(master);
+
if (pid != wpid) {
DEBUG(3,("We were waiting for the wrong process ID\n"));
return(False);