diff options
author | Moritz Schulte <[email protected]> | 2003-11-11 17:36:46 +0000 |
---|---|---|
committer | Moritz Schulte <[email protected]> | 2003-11-11 17:36:46 +0000 |
commit | fc2f92568d1b2634be395b3f11bd31da1f7fa81d (patch) | |
tree | 509b598f5164279101389b08a07e6a3a9de19f56 /src | |
parent | (assuan_inquire): Increase length of cmdbuf to (diff) | |
download | libassuan-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/ChangeLog | 5 | ||||
-rw-r--r-- | src/assuan-socket-connect.c | 6 |
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) { |