diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-05-27 11:07:57 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-05-27 11:07:57 +0000 |
| commit | a5cea8b8ecb5ea3f4157b807bc9e5c7814180b7d (patch) | |
| tree | cfd4006c9bae86d3b25162636ac0abd24a226ac1 | |
| parent | 14b9059726c7446afb49feded8c352cba626dc51 (diff) | |
| download | ruby-a5cea8b8ecb5ea3f4157b807bc9e5c7814180b7d.tar.gz ruby-a5cea8b8ecb5ea3f4157b807bc9e5c7814180b7d.tar.xz ruby-a5cea8b8ecb5ea3f4157b807bc9e5c7814180b7d.zip | |
* ext/socket/socket.c (sock_addrinfo): get rid of SEGV at NULL ptr
String. increase buffer size for 64bit platforms.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | ext/socket/socket.c | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Tue May 27 20:07:52 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net> + + * ext/socket/socket.c (sock_addrinfo): get rid of SEGV at NULL ptr + String. increase buffer size for 64bit platforms. + Mon May 26 21:39:46 2003 MoonWolf <moonwolf@moonwolf.com> * lib/mkmf.rb, lib/optparse.rb, lib/tracer.rb: use Method#to_block diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 039d7b006..0198a8e1d 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -553,7 +553,7 @@ sock_addrinfo(host, port, socktype, flags) struct addrinfo hints, *hintsp, *res; char *hostp, *portp; int error; - char hbuf[1024], pbuf[16]; + char hbuf[1024], pbuf[32]; if (NIL_P(host)) { hostp = NULL; @@ -569,7 +569,7 @@ sock_addrinfo(host, port, socktype, flags) SafeStringValue(host); name = RSTRING(host)->ptr; - if (*name == 0 || (name[0] == '<' && strcmp(name, "<any>") == 0)) { + if (!name || *name == 0 || (name[0] == '<' && strcmp(name, "<any>") == 0)) { mkinetaddr(INADDR_ANY, hbuf, sizeof(hbuf)); } else if (name[0] == '<' && strcmp(name, "<broadcast>") == 0) { |
