<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Apply by doing:
	cd /usr/src
	patch -p0 &lt; 018_mopd.patch
	cd usr.sbin/mopd
	make obj &amp;&amp; make depend &amp;&amp; make &amp;&amp; make install

Index: usr.sbin/mopd/mopd/process.c
===================================================================
RCS file: /cvs/src/usr.sbin/mopd/mopd/process.c,v
retrieving revision 1.3
diff -u -r1.3 process.c
--- usr.sbin/mopd/mopd/process.c	2000/02/20 17:45:34	1.3
+++ usr.sbin/mopd/mopd/process.c	2000/07/05 22:37:29
@@ -1,4 +1,4 @@
-/*	$OpenBSD: process.c,v 1.3 2000/02/20 17:45:34 bitblt Exp $ */
+/*	$OpenBSD: process.c,v 1.8 2000/07/04 23:46:23 maja Exp $ */
 
 /*
  * Copyright (c) 1993-95 Mats O Jansson.  All rights reserved.
@@ -30,7 +30,7 @@
  */
 
 #ifndef LINT
-static char rcsid[] = "$OpenBSD: process.c,v 1.3 2000/02/20 17:45:34 bitblt Exp $";
+static char rcsid[] = "$OpenBSD: process.c,v 1.8 2000/07/04 23:46:23 maja Exp $";
 #endif
 
 #include "os.h"
@@ -267,7 +267,7 @@
 	dllist[slot].a_lseek   = 0;
 
 	dllist[slot].count     = 0;
-	if (dllist[slot].dl_bsz &gt;= 1492)
+	if ((dllist[slot].dl_bsz &gt;= 1492) || (dllist[slot].dl_bsz == 0))
 		dllist[slot].dl_bsz = 1492;
 	if (dllist[slot].dl_bsz == 1030)	/* VS/uVAX 2000 needs this */
 		dllist[slot].dl_bsz = 1000;
@@ -353,7 +353,7 @@
 		snprintf(line,sizeof(line),
 			"%x:%x:%x:%x:%x:%x Load completed",
 			dst[0],dst[1],dst[2],dst[3],dst[4],dst[5]);
-		syslog(LOG_INFO, line);
+		syslog(LOG_INFO, "%s", line);
 		return;
 	}
 
@@ -438,7 +438,7 @@
 {
 	u_char  tmpc;
 	u_short moplen;
-	u_char  pfile[17], mopcode;
+	u_char  pfile[129], mopcode;
 	char    filename[FILENAME_MAX];
 	char    line[100];
 	int     i,nfd,iindex;
@@ -487,6 +487,8 @@
 		rpr_pgty = mopGetChar(pkt,index);	/* Program Type */
 		
 		tmpc = mopGetChar(pkt,index);		/* Software ID Len */
+		if (tmpc &gt; sizeof(pfile) - 1)
+			return;
 		for (i = 0; i &lt; tmpc; i++) {
 			pfile[i] = mopGetChar(pkt,index);
 			pfile[i+1] = '\0';
@@ -529,7 +531,7 @@
 					src[0],src[1],src[2],
 					src[3],src[4],src[5],trans,pfile);
 			}
-			syslog(LOG_INFO, line);
+			syslog(LOG_INFO, "%s", line);
 		} else {
 			if ((mopCmpEAddr(dst,ii-&gt;eaddr) == 0)) {
 				dl_rpr-&gt;ldfd = open(filename, O_RDONLY, 0);
@@ -538,7 +540,7 @@
 					"%x:%x:%x:%x:%x:%x Send me %s",
 					src[0],src[1],src[2],
 					src[3],src[4],src[5],pfile);
-				syslog(LOG_INFO, line);
+				syslog(LOG_INFO, "%s", line);
 			}
 		}
 		
</pre></body></html>