Mon Jun 25 18:37:05 EST 2007  quozl@us.netrek.org
  * security fix, information leak
  	* ntserv/genspkt.c: SP_MOTD packets had unintended data after the
  	terminating NUL character, from other packets or other stack usage.
--- old-netrek-server/Vanilla/ntserv/genspkt.c	2007-06-25 18:43:39.000000000 +1000
+++ new-netrek-server/Vanilla/ntserv/genspkt.c	2007-06-25 18:43:39.000000000 +1000
@@ -2582,7 +2582,8 @@
    Added wraparound capability (mostly for the compiler options)  DRG Jun 93
    */
     if ((len = strlen(line)) < (MSG_LEN - 1)) { /* no need to wrap around */
-	motdPacket.type=SP_MOTD;
+	memset(&motdPacket, 0, sizeof(struct motd_spacket));
+	motdPacket.type = SP_MOTD;
 	STRNCPY(motdPacket.line, line, MSG_LEN);
 	motdPacket.line[MSG_LEN-1]='\0';
 	sendClientPacket((CVOID) &motdPacket);
@@ -2595,7 +2596,8 @@
 	for (i=0;i<(int)(((float)(len)/(float)(MSG_LEN-1.0))+0.99);i++) {
 	    ptr1 = dmy; ptr2 = &(line[i*(MSG_LEN-1)]);
 	    for (j=0;j<MSG_LEN-1;j++) *ptr1++ = *ptr2++;
-	    motdPacket.type=SP_MOTD;
+	    memset(&motdPacket, 0, sizeof(struct motd_spacket));
+	    motdPacket.type = SP_MOTD;
 	    STRNCPY(motdPacket.line, dmy, MSG_LEN);
 	    motdPacket.line[MSG_LEN-1]='\0';
 	    sendClientPacket((CVOID) &motdPacket);

