]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Use SUN_LEN() for length of UNIX domain addresses. This should fix problems
authorMartin Mares <mj@ucw.cz>
Fri, 9 Jun 2000 07:30:22 +0000 (07:30 +0000)
committerMartin Mares <mj@ucw.cz>
Fri, 9 Jun 2000 07:30:22 +0000 (07:30 +0000)
with connection to clients on libc5 machines.

client/client.c
sysdep/unix/io.c

index 8b01ce38f279e071add93aef4f95f29dfc42c874..a139b04647e4390f2e959a12d7b88cf103d27bc7 100644 (file)
@@ -250,7 +250,7 @@ server_connect(void)
   bzero(&sa, sizeof(sa));
   sa.sun_family = AF_UNIX;
   strcpy(sa.sun_path, server_path);
-  if (connect(server_fd, (struct sockaddr *) &sa, sizeof(struct sockaddr)) < 0)
+  if (connect(server_fd, (struct sockaddr *) &sa, SUN_LEN(&sa)) < 0)
     die("Unable to connect to server control socket (%s): %m", server_path);
   if (fcntl(server_fd, F_SETFL, O_NONBLOCK) < 0)
     die("fcntl: %m");
index 445bc7cef98a49c701ea86f6259639e612831248..7f37c08c246655a5a57f32ddf7cd61b7eba22ad3 100644 (file)
@@ -774,7 +774,7 @@ sk_open_unix(sock *s, char *name)
   unlink(name);
   sa.sun_family = AF_UNIX;
   strcpy(sa.sun_path, name);
-  if (bind(fd, (struct sockaddr *) &sa, sizeof(sa)) < 0)
+  if (bind(fd, (struct sockaddr *) &sa, SUN_LEN(&sa)) < 0)
     ERR("bind");
   if (listen(fd, 8))
     ERR("listen");