summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-13 12:00:25 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-13 12:00:25 +0000
commit0f9ed7563fbcaffbb654c892b412ea748b3b23d4 (patch)
treee7c39bc5e0eb3618fe0c8edf7546a81ede075f88
parent681f50bf05c4e6a7f4e2d47297a6d16a1f41557d (diff)
downloadruby-0f9ed7563fbcaffbb654c892b412ea748b3b23d4.tar.gz
ruby-0f9ed7563fbcaffbb654c892b412ea748b3b23d4.tar.xz
ruby-0f9ed7563fbcaffbb654c892b412ea748b3b23d4.zip
* ext/socket/ancdata.c (extract_ipv6_pktinfo): set sa_len for 4.4BSD.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--ext/socket/ancdata.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 85ee49027..f8d2de674 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Feb 13 20:59:48 2009 Tanaka Akira <akr@fsij.org>
+
+ * ext/socket/ancdata.c (extract_ipv6_pktinfo): set sa_len for 4.4BSD.
+
Fri Feb 13 15:34:18 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* iseq.c (simple_default_value): removed. default values of optional
diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c
index b2c246260..755fa3846 100644
--- a/ext/socket/ancdata.c
+++ b/ext/socket/ancdata.c
@@ -400,6 +400,7 @@ extract_ipv6_pktinfo(VALUE self, struct in6_pktinfo *pktinfo_ptr, struct sockadd
memcpy(pktinfo_ptr, RSTRING_PTR(data), sizeof(*pktinfo_ptr));
memset(sa_ptr, 0, sizeof(*sa_ptr));
+ SET_SA_LEN((struct sockaddr *)sa_ptr, sizeof(struct sockaddr_in6));
sa_ptr->sin6_family = AF_INET6;
memcpy(&sa_ptr->sin6_addr, &pktinfo_ptr->ipi6_addr, sizeof(sa_ptr->sin6_addr));
if (IN6_IS_ADDR_LINKLOCAL(&sa_ptr->sin6_addr))