Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Jun 2011 19:13:23 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r222947 - stable/8/usr.bin/rlogin
Message-ID:  <201106101913.p5AJDNCj039722@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Fri Jun 10 19:13:22 2011
New Revision: 222947
URL: http://svn.freebsd.org/changeset/base/222947

Log:
  MFC 221079:
  Generate the network byte order version of the window size structure in a
  temporary variable on the stack and then copy that into the output buffer
  so that the htons() conversions use aligned accesses.

Modified:
  stable/8/usr.bin/rlogin/rlogin.c
Directory Properties:
  stable/8/usr.bin/rlogin/   (props changed)

Modified: stable/8/usr.bin/rlogin/rlogin.c
==============================================================================
--- stable/8/usr.bin/rlogin/rlogin.c	Fri Jun 10 19:12:00 2011	(r222946)
+++ stable/8/usr.bin/rlogin/rlogin.c	Fri Jun 10 19:13:22 2011	(r222947)
@@ -485,18 +485,18 @@ sigwinch(int signo __unused)
 void
 sendwindow(void)
 {
-	struct winsize *wp;
+	struct winsize ws;
 	char obuf[4 + sizeof (struct winsize)];
 
-	wp = (struct winsize *)(obuf+4);
 	obuf[0] = 0377;
 	obuf[1] = 0377;
 	obuf[2] = 's';
 	obuf[3] = 's';
-	wp->ws_row = htons(winsize.ws_row);
-	wp->ws_col = htons(winsize.ws_col);
-	wp->ws_xpixel = htons(winsize.ws_xpixel);
-	wp->ws_ypixel = htons(winsize.ws_ypixel);
+	ws.ws_row = htons(winsize.ws_row);
+	ws.ws_col = htons(winsize.ws_col);
+	ws.ws_xpixel = htons(winsize.ws_xpixel);
+	ws.ws_ypixel = htons(winsize.ws_ypixel);
+	bcopy(&ws, obuf + 4, sizeof(ws));
 
 	(void)write(rem, obuf, sizeof(obuf));
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106101913.p5AJDNCj039722>