diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-06-26 08:03:16 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-06-26 08:03:16 +0000 |
commit | 646f83fe29d16a5c2515d44f2f108917042a07fd (patch) | |
tree | 3195c0c28ed34586735d84f3dc8db936a3d676b6 | |
parent | 780f2ffb018ae77a578df71327ca2ac230b700d4 (diff) |
000626
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_4@785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/socket/socket.c | 24 | ||||
-rw-r--r-- | version.h | 4 |
3 files changed, 20 insertions, 13 deletions
@@ -1,3 +1,8 @@ +Sun Jun 25 00:55:03 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp> + + * ext/socket/socket.c (sock_s_getnameinfo): `res' would not + be assigned if TYPE(sa) == T_STRING. + Sat Jun 24 19:02:34 2000 Yukihiro Matsumoto <matz@netlab.co.jp> * stable version 1.4.5 released. diff --git a/ext/socket/socket.c b/ext/socket/socket.c index d9bc91f688..8af849e7d8 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -1958,19 +1958,21 @@ sock_s_getnameinfo(argc, argv) error = getnameinfo(sap, SA_LEN(sap), hbuf, sizeof(hbuf), pbuf, sizeof(pbuf), fl); if (error) goto error_exit; - for (r = res->ai_next; r; r = r->ai_next) { - char hbuf2[1024], pbuf2[1024]; - - sap = r->ai_addr; - error = getnameinfo(sap, SA_LEN(sap), hbuf2, sizeof(hbuf2), - pbuf2, sizeof(pbuf2), fl); - if (error) goto error_exit; - if (strcmp(hbuf, hbuf2) != 0|| strcmp(pbuf, pbuf2) != 0) { - freeaddrinfo(res); - rb_raise(rb_eSocket, "sockaddr resolved to multiple nodename"); + if (res) { + for (r = res->ai_next; r; r = r->ai_next) { + char hbuf2[1024], pbuf2[1024]; + + sap = r->ai_addr; + error = getnameinfo(sap, SA_LEN(sap), hbuf2, sizeof(hbuf2), + pbuf2, sizeof(pbuf2), fl); + if (error) goto error_exit; + if (strcmp(hbuf, hbuf2) != 0|| strcmp(pbuf, pbuf2) != 0) { + freeaddrinfo(res); + rb_raise(rb_eSocket, "sockaddr resolved to multiple nodename"); + } } + freeaddrinfo(res); } - freeaddrinfo(res); return rb_assoc_new(rb_tainted_str_new2(hbuf), rb_tainted_str_new2(pbuf)); error_exit: @@ -1,4 +1,4 @@ #define RUBY_VERSION "1.4.5" -#define RUBY_RELEASE_DATE "2000-06-24" +#define RUBY_RELEASE_DATE "2000-06-26" #define RUBY_VERSION_CODE 145 -#define RUBY_RELEASE_CODE 20000624 +#define RUBY_RELEASE_CODE 20000626 |