]> andersk Git - openssh.git/commitdiff
- markus@cvs.openbsd.org 2001/07/10 21:49:12
authordjm <djm>
Sat, 14 Jul 2001 02:19:56 +0000 (02:19 +0000)
committerdjm <djm>
Sat, 14 Jul 2001 02:19:56 +0000 (02:19 +0000)
     [readpass.c]
     don't panic if fork or pipe fail (just return an empty passwd).

ChangeLog
readpass.c

index d3f0bd2dd2ae32016f650e99e7ccb436904e1638..5204013d0f1e14f1e8c581d6d605bbff79b55e34 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -31,6 +31,9 @@
    - deraadt@cvs.openbsd.org 2001/07/09 07:04:53
      [session.c sftp-int.c]
      correct type on last arg to execl(); nordin@cse.ogi.edu
+   - markus@cvs.openbsd.org 2001/07/10 21:49:12
+     [readpass.c]
+     don't panic if fork or pipe fail (just return an empty passwd).
 
 20010711
  - (djm) dirname(3) may modify its argument on glibc and other systems. 
index 4eeeed9178ac5bfd5f9f31ca479c806f61721893..3724eeab17600b6a62acab32f3d399666caca7ea 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: readpass.c,v 1.20 2001/07/02 22:29:20 markus Exp $");
+RCSID("$OpenBSD: readpass.c,v 1.21 2001/07/10 21:49:12 markus Exp $");
 
 #include "xmalloc.h"
 #include "readpass.h"
@@ -54,10 +54,14 @@ ssh_askpass(char *askpass, const char *msg)
                error("ssh_askpass: fflush: %s", strerror(errno));
        if (askpass == NULL)
                fatal("internal error: askpass undefined");
-       if (pipe(p) < 0)
-               fatal("ssh_askpass: pipe: %s", strerror(errno));
-       if ((pid = fork()) < 0)
-               fatal("ssh_askpass: fork: %s", strerror(errno));
+       if (pipe(p) < 0) {
+               error("ssh_askpass: pipe: %s", strerror(errno));
+               return xstrdup("");
+       }
+       if ((pid = fork()) < 0) {
+               error("ssh_askpass: fork: %s", strerror(errno));
+               return xstrdup("");
+       }
        if (pid == 0) {
                seteuid(getuid());
                setuid(getuid());
This page took 0.081109 seconds and 5 git commands to generate.