54 lines
1.5 KiB
Plaintext
54 lines
1.5 KiB
Plaintext
$NetBSD: patch-ab,v 1.2 2009/09/14 16:48:44 tron Exp $
|
|
|
|
--- src/ne_socket.c.orig 2009-08-18 14:16:07.000000000 +0100
|
|
+++ src/ne_socket.c 2009-09-14 13:40:37.000000000 +0100
|
|
@@ -1192,6 +1192,9 @@
|
|
in6.sin6_port = htons(port);
|
|
/* fill in the _family field for AIX 4.3, which forgets to do so. */
|
|
in6.sin6_family = AF_INET6;
|
|
+#ifdef __NetBSD__
|
|
+ in6.sin6_len = sizeof in6;
|
|
+#endif
|
|
|
|
return bind(fd, (struct sockaddr *)&in6, sizeof in6);
|
|
} else
|
|
@@ -1210,6 +1213,9 @@
|
|
}
|
|
in.sin_port = htons(port);
|
|
in.sin_family = AF_INET;
|
|
+#ifdef __NetBSD__
|
|
+ in.sin_len = sizeof in;
|
|
+#endif
|
|
|
|
return bind(fd, (struct sockaddr *)&in, sizeof in);
|
|
}
|
|
@@ -1329,7 +1335,7 @@
|
|
|
|
ia = ne_calloc(sizeof *ia);
|
|
#ifdef USE_GETADDRINFO
|
|
- ia->ai_addr = ne_malloc(sizeof *ia);
|
|
+ ia->ai_addr = ne_malloc(len);
|
|
ia->ai_addrlen = len;
|
|
memcpy(ia->ai_addr, sad, len);
|
|
ia->ai_family = saun.sa.sa_family;
|
|
@@ -1365,6 +1371,9 @@
|
|
ia->ai_addr = (struct sockaddr *)in4;
|
|
ia->ai_addrlen = sizeof *in4;
|
|
in4->sin_family = AF_INET;
|
|
+#ifdef __NetBSD__
|
|
+ in4->sin_len = sizeof *in4;
|
|
+#endif
|
|
memcpy(&in4->sin_addr.s_addr, raw, sizeof in4->sin_addr.s_addr);
|
|
}
|
|
#ifdef AF_INET6
|
|
@@ -1374,6 +1383,9 @@
|
|
ia->ai_addr = (struct sockaddr *)in6;
|
|
ia->ai_addrlen = sizeof *in6;
|
|
in6->sin6_family = AF_INET6;
|
|
+#ifdef __NetBSD__
|
|
+ in6->sin6_len = sizeof *in6;
|
|
+#endif
|
|
memcpy(&in6->sin6_addr, raw, sizeof in6->sin6_addr.s6_addr);
|
|
}
|
|
#endif
|