mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/socket/raddrinfo.c (rsock_fd_family): Check sa_len.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
33f3789e85
commit
e794fa5cb5
2 changed files with 6 additions and 1 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
Tue Oct 13 22:06:50 2015 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
* ext/socket/raddrinfo.c (rsock_fd_family): Check sa_len.
|
||||||
|
|
||||||
Tue Oct 13 12:14:10 2015 Craig Davison <craig65535@gmail.com>
|
Tue Oct 13 12:14:10 2015 Craig Davison <craig65535@gmail.com>
|
||||||
|
|
||||||
* ext/socket/rsock_addrinfo (rsock_addrinfo): specify address
|
* ext/socket/rsock_addrinfo (rsock_addrinfo): specify address
|
||||||
|
|
|
@ -524,7 +524,8 @@ rsock_fd_family(int fd)
|
||||||
struct sockaddr sa = { 0 };
|
struct sockaddr sa = { 0 };
|
||||||
socklen_t sa_len = sizeof(sa);
|
socklen_t sa_len = sizeof(sa);
|
||||||
|
|
||||||
if (fd < 0 || getsockname(fd, &sa, &sa_len) != 0) {
|
if (fd < 0 || getsockname(fd, &sa, &sa_len) != 0 ||
|
||||||
|
sa_len < offsetof(struct sockaddr, sa_family) + sizeof(sa.sa_family)) {
|
||||||
return AF_UNSPEC;
|
return AF_UNSPEC;
|
||||||
}
|
}
|
||||||
return sa.sa_family;
|
return sa.sa_family;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue