From: Katsuyuki Komatsu Date: 1999-05-24T10:14:12+09:00 Subject: [ruby-dev:6958] Re: ext/socket/getaddrinfo.c tiny fix 小松です。 In the message of [ruby-dev:6919] ext/socket/getaddrinfo.c tiny fix on 1999/5/20 13:06:56 Jun-ichiro itojun Hagino wrote: | ext/socket/getaddrinfo.cに以下のpatchをおねがいします。 ext/socket/getaddrinfo.cですが、GET_AI()の定義で、 malloc()の失敗時にerrorを代入していないようです。 そういえば、拡張ライブラリでのmalloc()とxmalloc()の 使い分けの基準はなんだろう? ここのmalloc()がいいのかどうかが気になります。 --- ruby-1.3.3-990518.orig/ext/socket/getaddrinfo.c Sat May 8 00:34:36 1999 +++ ruby-1.3.3-990518/ext/socket/getaddrinfo.c Fri May 21 23:01:26 1999 @@ -160,7 +160,10 @@ char *p;\ if (((ai) = (struct addrinfo *)malloc(sizeof(struct addrinfo) +\ ((afd)->a_socklen)))\ - == NULL) goto free;\ + == NULL) {\ + error = EAI_MEMORY;\ + goto free;\ + }\ memcpy(ai, pai, sizeof(struct addrinfo));\ (ai)->ai_addr = (struct sockaddr *)((ai) + 1);\ memset((ai)->ai_addr, 0, (afd)->a_socklen);\ -- 小松克行 / Katsuyuki Komatsu