summaryrefslogtreecommitdiff
path: root/ssh.c
diff options
context:
space:
mode:
authordtucker <dtucker>2007-12-02 12:22:52 +0000
committerdtucker <dtucker>2007-12-02 12:22:52 +0000
commitb6842fb92e3c1b106ab504d5dd4d09d5d4b322f1 (patch)
treeaeaad28df41158d0026a0a6f3a435a04794b9e5c /ssh.c
parent480ef011fcd524e51ce8cf9c6ee3c4addfa0c3ae (diff)
downloadopenssh-b6842fb92e3c1b106ab504d5dd4d09d5d4b322f1.tar.gz
- deraadt@cvs.openbsd.org 2007/11/03 02:03:49
[ssh.c] avoid errno trashing in signal handler; ok dtucker
Diffstat (limited to 'ssh.c')
-rw-r--r--ssh.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ssh.c b/ssh.c
index 7e23acff..e8906e00 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 @@ control_client_sighandler(int signo)
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