fix ordering in previous to ensure errno isn't clobbered before
authordjm <djm@openbsd.org>
Fri, 8 Dec 2017 02:14:33 +0000 (02:14 +0000)
committerdjm <djm@openbsd.org>
Fri, 8 Dec 2017 02:14:33 +0000 (02:14 +0000)
logging.

usr.bin/ssh/misc.c

index ca16738..c1ad2dc 100644 (file)
@@ -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.
@@ -1451,18 +1451,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;
        }