- 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