--- server/misc.c~ Fri Jul 29 12:03:54 1994 +++ server/misc.c Fri Jun 30 10:16:39 2000 @@ -788,12 +788,19 @@ if (client->username && client->username[0]) { if (client->groupname && client->groupname[0]) { + if (strlen(DDUSER) + strlen(client->username) + + strlen(DDGROUP) + strlen(client->groupname) + + strlen(DDPATH) >= 256) + return ( -1 ); sprintf(dichome, "%s/%s:%s/%s:%s", DDUSER, client->username, DDGROUP, client->groupname, DDPATH); } else { + if (strlen(DDUSER) + strlen(client->username) + + strlen(DDPATH) >= 256) + return ( -1 ); sprintf(dichome, "%s/%s:%s", DDUSER, client->username, DDPATH);