From f622d144ebcb798659df0022e159f56cebd42e86 Mon Sep 17 00:00:00 2001 From: dtucker Date: Sun, 2 Dec 2007 12:22:52 +0000 Subject: [PATCH] - deraadt@cvs.openbsd.org 2007/11/03 02:03:49 [ssh.c] avoid errno trashing in signal handler; ok dtucker --- ChangeLog | 3 +++ ssh.c | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 7dacad9a..7dd2b7f4 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 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 * Copyright (c) 1995 Tatu Ylonen , 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 -- 2.45.2