=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/packet.c,v retrieving revision 1.289 retrieving revision 1.290 diff -u -r1.289 -r1.290 --- src/usr.bin/ssh/packet.c 2020/01/23 10:53:04 1.289 +++ src/usr.bin/ssh/packet.c 2020/01/30 07:20:05 1.290 @@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.289 2020/01/23 10:53:04 dtucker Exp $ */ +/* $OpenBSD: packet.c,v 1.290 2020/01/30 07:20:05 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1824,6 +1824,7 @@ sshpkt_vfatal(struct ssh *ssh, int r, const char *fmt, va_list ap) { char *tag = NULL, remote_id[512]; + int oerrno = errno; sshpkt_fmt_connection_id(ssh, remote_id, sizeof(remote_id)); @@ -1851,6 +1852,7 @@ case SSH_ERR_NO_HOSTKEY_ALG_MATCH: if (ssh && ssh->kex && ssh->kex->failed_choice) { ssh_packet_clear_keys(ssh); + errno = oerrno; logdie("Unable to negotiate with %s: %s. " "Their offer: %s", remote_id, ssh_err(r), ssh->kex->failed_choice); @@ -1863,6 +1865,7 @@ __func__); } ssh_packet_clear_keys(ssh); + errno = oerrno; logdie("%s%sConnection %s %s: %s", tag != NULL ? tag : "", tag != NULL ? ": " : "", ssh->state->server_side ? "from" : "to",