Apply by doing:
	cd "the directory containing your X11 source dir"
	patch -p0 < 023_xlock.patch

To recompile and install xlock:

	cd X11/xc/programs/xlockmore
	xmkmf
	make Makefiles
	make && make install

Index: X11/xc/programs/xlockmore/xlock/xlock.c
===================================================================
RCS file: /cvs/X11/xc/programs/xlockmore/xlock/xlock.c,v
retrieving revision 1.5
diff -u -r1.5 xlock.c
--- X11/xc/programs/xlockmore/xlock/xlock.c	2000/04/15 09:46:00	1.5
+++ X11/xc/programs/xlockmore/xlock/xlock.c	2000/08/16 13:46:14
@@ -296,13 +296,13 @@
 
 	/* Put on the PROGCLASS.background/foreground resources. */
 	s = (char *) malloc(50);
-	(void) strcpy(s, progclass);
-	(void) strcat(s, ".background: black");
+	(void) strlcpy(s, progclass, 50);
+	(void) strlcat(s, ".background: black", 50);
 	defaults[i++] = s;
 
 	s = (char *) malloc(50);
-	(void) strcpy(s, progclass);
-	(void) strcat(s, ".foreground: white");
+	(void) strlcpy(s, progclass, 50);
+	(void) strlcat(s, ".foreground: white", 50);
 	defaults[i++] = s;
 
 	/* Copy the lines out of the `app_defaults' var and into this array. */
@@ -944,7 +944,7 @@
 #if defined( HAVE_SYSLOG_H ) && defined( USE_SYSLOG )
 	extern Display *dsp;
 
-	syslog(SYSLOG_WARNING, buf);
+	syslog(SYSLOG_WARNING, "%s", buf);
 	if (!nolock) {
 		if (strstr(buf, "unable to open display") == NULL)
 			syslogStop(XDisplayString(dsp));
@@ -953,7 +953,7 @@
 		closelog();
 	}
 #else
-	(void) fprintf(stderr, buf);
+	(void) fprintf(stderr, "%s", buf);
 #endif
 	exit(1);
 }
