]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: use error()+_exit() instead of fatal() to avoid running
authordjm@openbsd.org <djm@openbsd.org>
Wed, 27 Nov 2019 05:00:17 +0000 (05:00 +0000)
committerDamien Miller <djm@mindrot.org>
Wed, 27 Nov 2019 05:02:46 +0000 (16:02 +1100)
cleanup handlers in child process; spotted via weird regress failures in
portable

OpenBSD-Commit-ID: 6902a9bb3987c7d347774444f7979b8a9ba7f412

readpass.c

index 42cbe41f6a4cf842dfe7d900ef9f5d5ff935a579..89788fe198a6010b1befb13384d222d42ef13718 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: readpass.c,v 1.57 2019/11/15 00:32:40 djm Exp $ */
+/* $OpenBSD: readpass.c,v 1.58 2019/11/27 05:00:17 djm Exp $ */
 /*
  * Copyright (c) 2001 Markus Friedl.  All rights reserved.
  *
@@ -251,7 +251,8 @@ notify_start(int force_askpass, const char *fmt, ...)
                closefrom(STDERR_FILENO + 1);
                setenv("SSH_ASKPASS_PROMPT", "none", 1); /* hint to UI */
                execlp(askpass, askpass, prompt, (char *)NULL);
-               fatal("%s: exec(%s): %s", __func__, askpass, strerror(errno));
+               error("%s: exec(%s): %s", __func__, askpass, strerror(errno));
+               _exit(1);
                /* NOTREACHED */
        }
        if ((ret = calloc(1, sizeof(*ret))) == NULL) {