]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream commit
authordjm@openbsd.org <djm@openbsd.org>
Fri, 8 Dec 2017 02:14:33 +0000 (02:14 +0000)
committerDamien Miller <djm@mindrot.org>
Mon, 11 Dec 2017 23:32:04 +0000 (10:32 +1100)
fix ordering in previous to ensure errno isn't clobbered
before logging.

OpenBSD-Commit-ID: e260bc1e145a9690dcb0d5aa9460c7b96a0c8ab2

misc.c

diff --git a/misc.c b/misc.c
index 827b5a759dbe389cb1d14f3ae425eb9870959d79..50988cefe9bfcd0ccc74e712cb65f4c429bc6cf5 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.c,v 1.121 2017/12/08 02:13:02 djm Exp $ */
+/* $OpenBSD: misc.c,v 1.122 2017/12/08 02:14:33 djm Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  * Copyright (c) 2005,2006 Damien Miller.  All rights reserved.
@@ -1515,18 +1515,18 @@ unix_listener(const char *path, int backlog, int unlink_first)
        }
        if (bind(sock, (struct sockaddr *)&sunaddr, sizeof(sunaddr)) < 0) {
                saved_errno = errno;
-               close(sock);
                error("%s: cannot bind to path %s: %s",
                    __func__, path, strerror(errno));
+               close(sock);
                errno = saved_errno;
                return -1;
        }
        if (listen(sock, backlog) < 0) {
                saved_errno = errno;
-               close(sock);
-               unlink(path);
                error("%s: cannot listen on path %s: %s",
                    __func__, path, strerror(errno));
+               close(sock);
+               unlink(path);
                errno = saved_errno;
                return -1;
        }