- deraadt@cvs.openbsd.org 2007/11/03 02:03:49
[ssh.c]
avoid errno trashing in signal handler; ok dtucker
diff --git a/ChangeLog b/ChangeLog
index f3c118c..8609e24 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -38,6 +38,9 @@
- dtucker@cvs.openbsd.org 2007/11/03 02:00:32
[ssh.c]
Use xstrdup/xfree when saving pwname and pwdir; ok deraadt@
+ - deraadt@cvs.openbsd.org 2007/11/03 02:03:49
+ [ssh.c]
+ avoid errno trashing in signal handler; ok dtucker
20071030
- (djm) OpenBSD CVS Sync
@@ -3455,4 +3458,4 @@
OpenServer 6 and add osr5bigcrypt support so when someone migrates
passwords between UnixWare and OpenServer they will still work. OK dtucker@
-$Id: ChangeLog,v 1.4805 2007/12/02 12:21:16 dtucker Exp $
+$Id: ChangeLog,v 1.4806 2007/12/02 12:22:52 dtucker Exp $
diff --git a/ssh.c b/ssh.c
index 7e23acf..e8906e0 100644
--- a/ssh.c
+++ b/ssh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh.c,v 1.307 2007/11/03 02:00:32 dtucker Exp $ */
+/* $OpenBSD: ssh.c,v 1.308 2007/11/03 02:03:49 deraadt Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1294,8 +1294,12 @@
static void
control_client_sigrelay(int signo)
{
+ int save_errno = errno;
+
if (control_server_pid > 1)
kill(control_server_pid, signo);
+
+ errno = save_errno;
}
static int