diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 1996-01-11 14:16:18 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 1996-01-11 14:16:18 +0000 |
commit | 2d1cd374d76eccdbcf59951e245df521bfc91a10 (patch) | |
tree | e581b3c15ae1c8ed8021eae817028df3cf558d0b /otherlibs/unix | |
parent | 76ca01eacef1a991928ec2b511f59b87e19f23fa (diff) |
Calcul de sockaddr_len incorrect dans le cas AF_UNIX (signale par F. Dupont)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@612 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/unix')
-rw-r--r-- | otherlibs/unix/socketaddr.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/otherlibs/unix/socketaddr.c b/otherlibs/unix/socketaddr.c index 13b772ffa..bc179f13d 100644 --- a/otherlibs/unix/socketaddr.c +++ b/otherlibs/unix/socketaddr.c @@ -45,7 +45,9 @@ void get_sockaddr(a) unix_error(ENAMETOOLONG, "", path); } bcopy(String_val(path), sock_addr.s_unix.sun_path, (int) len + 1); - sock_addr_len = sizeof(sock_addr.s_unix.sun_family) + len; + sock_addr_len = + ((char *)&(sock_addr.s_unix.sun_path) - (char *)&(sock_addr.s_unix)) + + len; break; } case 1: /* ADDR_INET */ |