]> andersk Git - openssh.git/commitdiff
- deraadt@cvs.openbsd.org 2007/11/03 02:03:49
authordtucker <dtucker>
Sun, 2 Dec 2007 12:22:52 +0000 (12:22 +0000)
committerdtucker <dtucker>
Sun, 2 Dec 2007 12:22:52 +0000 (12:22 +0000)
     [ssh.c]
     avoid errno trashing in signal handler; ok dtucker

ChangeLog
ssh.c

index 7dacad9a706e07005e54f3a7798aa28f81f5aaec..7dd2b7f4ccb91cff39c579765bd0aec3320e52be 100644 (file)
--- 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 7e23acff6a9bcbc01f7890dd8322d67e51c72b97..e8906e00d7b5a8c929425963e8d39fadd0f0b620 100644 (file)
--- 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
This page took 0.055478 seconds and 5 git commands to generate.