summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorangelos <angelos@openbsd.org>2002-01-19 20:12:02 +0000
committerangelos <angelos@openbsd.org>2002-01-19 20:12:02 +0000
commitcea604e7dc175e9f8662db62b4869cfc300680c6 (patch)
tree0414638065439017a522110e6ea4ff64dea49d7d
parentIf handler for SIGCHLD is SIG_IGN, reset to SIG_DLF. This is consistent (diff)
downloadwireguard-openbsd-cea604e7dc175e9f8662db62b4869cfc300680c6.tar.xz
wireguard-openbsd-cea604e7dc175e9f8662db62b4869cfc300680c6.zip
Fix bogosity with sa_len value assignment...I wonder how this ever
worked (but it did, until very recently).
-rw-r--r--sbin/isakmpd/util.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sbin/isakmpd/util.c b/sbin/isakmpd/util.c
index b8465d19bf8..b469056f9b3 100644
--- a/sbin/isakmpd/util.c
+++ b/sbin/isakmpd/util.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: util.c,v 1.23 2001/10/26 13:29:26 ho Exp $ */
+/* $OpenBSD: util.c,v 1.24 2002/01/19 20:12:02 angelos Exp $ */
/* $EOM: util.c,v 1.23 2000/11/23 12:22:08 niklas Exp $ */
/*
@@ -461,7 +461,15 @@ util_ntoa (char **buf, int af, u_int8_t *addr)
memset (&from, 0, fromlen);
sfrom->sa_family = af;
#ifndef USE_OLD_SOCKADDR
- sfrom->sa_len = sysdep_sa_len (sfrom);
+ switch (af)
+ {
+ case AF_INET:
+ sfrom->sa_len = sizeof (struct sockaddr_in);
+ break;
+ case AF_INET6:
+ sfrom->sa_len = sizeof (struct sockaddr_in6);
+ break;
+ }
#endif
memcpy (sockaddr_addrdata (sfrom), addr, sockaddr_addrlen (sfrom));