Index: nslcd/nslcd.c =================================================================== --- nslcd/nslcd.c (revision 1594) +++ nslcd/nslcd.c (working copy) @@ -314,7 +314,7 @@ strncpy(addr.sun_path,filename,sizeof(addr.sun_path)); addr.sun_path[sizeof(addr.sun_path)-1]='\0'; /* bind to the named socket */ - if (bind(sock,(struct sockaddr *)&addr,(sizeof(addr.sun_family)+strlen(addr.sun_path)))) + if (bind(sock,(struct sockaddr *)&addr,SUN_LEN(&addr))) { log_log(LOG_ERR,"bind() to %s failed: %s",filename,strerror(errno)); if (close(sock)) Index: common/nslcd-prot.c =================================================================== --- common/nslcd-prot.c (revision 1594) +++ common/nslcd-prot.c (working copy) @@ -66,7 +66,7 @@ strncpy(addr.sun_path,NSLCD_SOCKET,sizeof(addr.sun_path)); addr.sun_path[sizeof(addr.sun_path)-1]='\0'; /* connect to the socket */ - if (connect(sock,(struct sockaddr *)&addr,(socklen_t)(sizeof(addr.sun_family)+strlen(addr.sun_path)))<0) + if (connect(sock,(struct sockaddr *)&addr,SUN_LEN(&addr))<0) { (void)close(sock); return NULL;