aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMoritz Schulte <[email protected]>2003-11-11 17:36:46 +0000
committerMoritz Schulte <[email protected]>2003-11-11 17:36:46 +0000
commitfc2f92568d1b2634be395b3f11bd31da1f7fa81d (patch)
tree509b598f5164279101389b08a07e6a3a9de19f56 /src
parent(assuan_inquire): Increase length of cmdbuf to (diff)
downloadlibassuan-fc2f92568d1b2634be395b3f11bd31da1f7fa81d.tar.gz
libassuan-fc2f92568d1b2634be395b3f11bd31da1f7fa81d.zip
2003-11-11 Moritz Schulte <[email protected]>
* assuan-socket-connect.c (assuan_socket_connect): Fix computation of socket address length.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/assuan-socket-connect.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3d2faf9..08bb2bd 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2003-11-11 Moritz Schulte <[email protected]>
+
+ * assuan-socket-connect.c (assuan_socket_connect): Fix computation
+ of socket address length.
+
2003-08-13 Werner Koch <[email protected]>
* assuan-inquire.c (assuan_inquire): Increase length of cmdbuf to
diff --git a/src/assuan-socket-connect.c b/src/assuan-socket-connect.c
index a7246cc..020ca1c 100644
--- a/src/assuan-socket-connect.c
+++ b/src/assuan-socket-connect.c
@@ -95,9 +95,9 @@ assuan_socket_connect (ASSUAN_CONTEXT *r_ctx,
memset (&srvr_addr, 0, sizeof srvr_addr);
srvr_addr.sun_family = AF_LOCAL;
- len = strlen (srvr_addr.sun_path) + 1;
- memcpy (srvr_addr.sun_path, name, len);
- len += (offsetof (struct sockaddr_un, sun_path));
+ strncpy (srvr_addr.sun_path, name, sizeof (srvr_addr.sun_path) - 1);
+ srvr_addr.sun_path[sizeof (srvr_addr.sun_path) - 1] = 0;
+ len = SUN_LEN (&srvr_addr);
if (connect (fd, (struct sockaddr *) &srvr_addr, len) == -1)
{