- djm@cvs.openbsd.org 2008/05/19 20:53:52
     [clientloop.c]
     unbreak tree by committing this bit that I missed from:
     Fix sending tty modes when stdin is not a tty (bz#1199). Previously
     we would send the modes corresponding to a zeroed struct termios,
     whereas we should have been sending an empty list of modes.
     Based on patch from daniel.ritz AT alcatel.ch; ok dtucker@ markus@
diff --git a/ChangeLog b/ChangeLog
index 1b2e5d8..be3e104 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,6 +16,13 @@
      support -l (print fingerprint) in combination with -F (find host) to
      search for a host in ~/.ssh/known_hosts and display its fingerprint;
      ok markus@
+   - djm@cvs.openbsd.org 2008/05/19 20:53:52
+     [clientloop.c]
+     unbreak tree by committing this bit that I missed from:
+     Fix sending tty modes when stdin is not a tty (bz#1199). Previously
+     we would send the modes corresponding to a zeroed struct termios,
+     whereas we should have been sending an empty list of modes.
+     Based on patch from daniel.ritz AT alcatel.ch; ok dtucker@ markus@ 
 
 20080604
  - (djm) [openbsd-compat/bsd-arc4random.c] Fix math bug that caused bias
@@ -4047,4 +4054,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.4941 2008/06/08 02:54:29 dtucker Exp $
+$Id: ChangeLog,v 1.4942 2008/06/08 02:55:32 dtucker Exp $
diff --git a/clientloop.c b/clientloop.c
index 584afb7..3bc8bb8 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: clientloop.c,v 1.193 2008/05/09 16:21:13 markus Exp $ */
+/* $OpenBSD: clientloop.c,v 1.194 2008/05/19 20:53:52 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1725,7 +1725,6 @@
 
 	if (want_tty) {
 		struct winsize ws;
-		struct termios tio;
 
 		/* Store window size in the packet. */
 		if (ioctl(in_fd, TIOCGWINSZ, &ws) < 0)
@@ -1738,8 +1737,9 @@
 		packet_put_int((u_int)ws.ws_row);
 		packet_put_int((u_int)ws.ws_xpixel);
 		packet_put_int((u_int)ws.ws_ypixel);
-		tio = get_saved_tio();
-		tty_make_modes(-1, tiop != NULL ? tiop : &tio);
+		if (tiop == NULL)
+			tiop = get_saved_tio();
+		tty_make_modes(-1, tiop);
 		packet_send();
 		/* XXX wait for reply */
 		c->client_tty = 1;