[#10007] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...>

青山です。

31 messages 2000/06/11
[#10008] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/11

青山です。

[#10018] Re: [ruby-talk:03267] Re: mod_ruby error? — Shugo Maeda <shugo@...> 2000/06/13

前田です。

[#10027] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/13

青山です。

[#10028] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/13

青山です。

[#10029] Re: [ruby-talk:03267] Re: mod_ruby error? — Shugo Maeda <shugo@...> 2000/06/13

前田です。

[#10035] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/13

青山です。

[#10038] Re: [ruby-talk:03267] Re: mod_ruby error? — Shugo Maeda <shugo@...> 2000/06/14

前田です。

[#10041] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10045] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10046] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10047] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10048] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10135] don't use mktemp() — Shugo Maeda <shugo@...>

前田です。

35 messages 2000/06/27
[#10136] Re: don't use mktemp() — matz@... (Yukihiro Matsumoto) 2000/06/27

まつもと ゆきひろです

[#10137] Re: don't use mktemp() — Shugo Maeda <shugo@...> 2000/06/27

前田です。

[#10141] Re: don't use mktemp() — kjana@... (YANAGAWA Kazuhisa) 2000/06/27

In message <874s6f1rqj.wl@studly.netlab.co.jp>

[#10143] Re: don't use mktemp() — WATANABE Hirofumi <eban@...> 2000/06/27

わたなべです.

[#10181] Re: don't use mktemp() — Katsuyuki Komatsu <komatsu@...> 2000/07/03

小松です。

[#10183] Re: don't use mktemp() — WATANABE Hirofumi <eban@...> 2000/07/03

わたなべです.

[ruby-dev:10123] [BUG] Socket.getnameinfo

From: Katsuyuki Komatsu <komatsu@...>
Date: 2000-06-24 16:22:17 UTC
List: ruby-dev #10123
小松です。

ruby-1.4.5-i586-beos-socket.zipを作ろうと思ってテストセットを
動かしていたら、dualstack-httpd.rbが落ちました。
1.5.4でも落ちます。

% ruby-1.4.5 -v dualstack-httpd.rb
ruby 1.4.5 (2000-06-24) [sparc-solaris2.5.1]
dualstack-httpd.rb:16: [BUG] Segmentation fault
異常終了 (コアダンプしました。)
% gdb ruby-1.4.5
GNU gdb 5.0
    ...
(gdb) run dualstack-httpd.rb
Starting program: /usr/local/bin/ruby-1.4.5 dualstack-httpd.rb

Program received signal SIGSEGV, Segmentation fault.
0xef735bc8 in sock_s_getnameinfo (argc=2, argv=0xefffdeb8)
    at /home/atropos/src/ruby-1.4.5/ext/socket/socket.c:1999
1999	    for (r = res->ai_next; r; r = r->ai_next) {
(gdb) p res
$1 = (struct addrinfo__compat *) 0x0
(gdb) p ((struct RString *)sa)->basic.flags & 0x7f
$2 = 7
(gdb) 

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.

diff -ru1p ruby-1.4.5.dist/ext/socket/socket.c ruby-1.4.5/ext/socket/socket.c
--- ruby-1.4.5.dist/ext/socket/socket.c	Wed May 31 17:10:04 2000
+++ ruby-1.4.5/ext/socket/socket.c	Sun Jun 25 00:55:03 2000
@@ -1960,15 +1960,17 @@ sock_s_getnameinfo(argc, argv)
     if (error) goto error_exit;
-    for (r = res->ai_next; r; r = r->ai_next) {
-	char hbuf2[1024], pbuf2[1024];
+    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");
+	    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));

--
小松克行 / Katsuyuki Komatsu <komatsu@sarion.co.jp>

In This Thread

Prev Next