Index: /trunk/docs/Changelog
===================================================================
--- /trunk/docs/Changelog	(revision 523)
+++ /trunk/docs/Changelog	(revision 524)
@@ -1,3 +1,5 @@
 4.2.1:
+	* fix for broken SetSocketPassword authentication
+	(reported by Todd Stansell)
 	* fix compile issue on Solaris 11 (reported by Rolf)
 	* fix alignment problem with semget() (reported by Rolf)
Index: /trunk/src/sh_socket.c
===================================================================
--- /trunk/src/sh_socket.c	(revision 523)
+++ /trunk/src/sh_socket.c	(revision 524)
@@ -809,5 +809,5 @@
 
 #if defined(NEED_PASSWORD_AUTH)
-char * check_password(char * message, int * client_uid, int talkfd)
+char * check_password(char * message, size_t msglen, int * client_uid, int talkfd)
 {
   char * cmd = NULL;
@@ -823,5 +823,5 @@
    */
   if (0 == strcmp(goodpassword, message) &&
-      strlen(goodpassword) < (sizeof(message)/2))
+      strlen(goodpassword) < (msglen/2))
     {
       *client_uid = sh_socket_flaguid;
@@ -902,5 +902,5 @@
 
 #elif defined(NEED_PASSWORD_AUTH)
-  cmd = check_password(message, &client_uid, talkfd);
+  cmd = check_password(message, sizeof(message), &client_uid, talkfd);
 
 #else
