summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/nslcd-prot.c2
-rw-r--r--nslcd/nslcd.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/common/nslcd-prot.c b/common/nslcd-prot.c
index 102a6df..f2d6adf 100644
--- a/common/nslcd-prot.c
+++ b/common/nslcd-prot.c
@@ -66,7 +66,7 @@ TFILE *nslcd_client_open()
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(struct sockaddr_un))<0)
+ if (connect(sock,(struct sockaddr *)&addr,(socklen_t)(sizeof(addr.sun_family)+strlen(addr.sun_path)))<0)
{
(void)close(sock);
return NULL;
diff --git a/nslcd/nslcd.c b/nslcd/nslcd.c
index 4b0ecb7..df496a4 100644
--- a/nslcd/nslcd.c
+++ b/nslcd/nslcd.c
@@ -293,7 +293,7 @@ static int create_socket(void)
strncpy(addr.sun_path,NSLCD_SOCKET,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(struct sockaddr_un)))
+ if (bind(sock,(struct sockaddr *)&addr,(sizeof(addr.sun_family)+strlen(addr.sun_path))))
{
log_log(LOG_ERR,"bind() to "NSLCD_SOCKET" failed: %s",
strerror(errno));