From: djm Date: Fri, 8 Dec 2017 02:14:33 +0000 (+0000) Subject: fix ordering in previous to ensure errno isn't clobbered before X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=711fd03618bb83ee05ce02bb8ca84ff38993daa5;p=openbsd fix ordering in previous to ensure errno isn't clobbered before logging. --- diff --git a/usr.bin/ssh/misc.c b/usr.bin/ssh/misc.c index ca1673833b3..c1ad2dc3a77 100644 --- a/usr.bin/ssh/misc.c +++ b/usr.bin/ssh/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. @@ -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; }