[#26266] pragma on ripper — nobuyoshi nakada <nobuyoshi.nakada@...>
なかだです。
こんにちは、なかむら(う)です。
なかだです。
[#26284] ext/tk/sample/tkextlib/tile/demo.rb で TypeError — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26298] ext/tk/sample/tkextlib/tile/themes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26305] ext/tk/sample/tkextlib/ICONS/viewIcons.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
永井@知能.九工大です.
[#26312] rb_gc_mark_threads spin — Tanaka Akira <akr@...17n.org>
最近、とあるプログラム(五月雨)が、無限ループに陥ることが何回かありました。
なかだです。
In article <TYOMLEM04FRaqbC8wSA00000024@tyomlvem02.e2k.ad.ge.com>,
なかだです。
In article <TYOMLEM04FRaqbC8wSA00000025@tyomlvem02.e2k.ad.ge.com>,
なかだです。
In article <TYOMLEM04Rqf69aZbLA0000002d@tyomlvem02.e2k.ad.ge.com>,
なかだです。
In article <200506101543.j5AFhToG009328@sharui.nakada.niregi.kanuma.tochigi.jp>,
In article <8764wlil9l.fsf@m17n.org>,
なかだです。
In article <200506111335.j5BDZkoG019423@sharui.nakada.niregi.kanuma.tochigi.jp>,
まつもと ゆきひろです
In article <1118583170.298416.26464.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1118586617.180748.27381.nullmailer@x31.priv.netlab.jp>,
[#26324] XMLRPC charset — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26358] test failures and errors — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26387] warningを減らす — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26405] WEBrick DoS vulnerability — Tanaka Akira <akr@...17n.org>
NetBSD 2.0 で WEBrick を使って HTTP サーバを動かした場合、クライアント
ごとうゆうぞうです。
In article <20050708.175802.957830318.gotoyuzo@sawara.does.notwork.org>,
In message <87fyupzgcq.fsf@m17n.org>,
In article <20050708.211519.179953950.gotoyuzo@sawara.does.notwork.org>,
In message <87d5ptzdpc.fsf@m17n.org>,
前田です。
In article <42CF1AF2.5000407@ruby-lang.org>,
In message <878y0erpv7.fsf@m17n.org>,
[#26410] irbのlexerが数値認識に失敗 — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26417] test.rb failed 167W: ruby 1.9.0 (2005-06-30) [i686-linux] (boron) — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#26421] Subversion — Shugo Maeda <shugo@...>
前田です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
山本です。
須藤です.
In article <20050703.152549.41008576.kou@cozmixng.org>,
[ruby-dev:26332] Re: ruby_setenv dumps core with mod_ruby/1.4.2
山本です。
>えーと、どのくらい動作が違うのかコードを見てもよく分からない
>んですが。ちょっときれいになっているのは認めますが。
>もうちょっと説明してくださいませんか。
違いがわからないというのは、オリジナルと私のパッチの違いが
わからない、ということでしょうか?(私の出した2つのパッチに
動作の違いはありません。単に同じコードが2つあって冗長なので
まとめただけです)
Index: hash.c
===================================================================
RCS file: /src/ruby/hash.c,v
retrieving revision 1.128.2.11
diff -u -w -b -p -r1.128.2.11 hash.c
--- hash.c 28 Feb 2005 02:45:20 -0000 1.128.2.11
+++ hash.c 10 Jun 2005 08:47:16 -0000
@@ -1855,7 +1855,9 @@ ruby_setenv(name, value)
environ[i+1] = 0; /* make sure it's null terminated */
}
else {
- if (environ[i] != origenviron[i])
+ char **envp = origenviron;
+ while (*envp && *envp != environ[i]) envp++;
+ if (!*envp)
free(environ[i]);
}
environ[i] = ALLOC_N(char, strlen(name) + strlen(value) + 2);
origenviron は起動時に environ だった元々の環境変数を退避してるだけなので
長さは変わらず、(少なくとも grep したところでは変更されていないようでした)
environ のほうは ruby 側で環境変数を追加するたびに伸びていくので、そのうち
origenviron の範囲外の値が int i=envix(name) で返ってきて origenviron[i] が
まずいんじゃないかと思いました。上の !value なときの条件判断には
こんな問題はないので、こちらが正しかろうと思い流用しました。
本当は environ の要素は全部 strdup されたものなので origenviron を
調べなくてもいきなり free してよさそうに思ったのですが、わざわざ
条件判断で弾いてるからには理由があるのだろうと思って
>>たぶん、条件文は万が一にも origenviron な文字列を free しないようにする
>>セーフガードだと思うので、(ruby 以外が environ に直接ポインタを設定してしまうとか)
という理由をとってつけたのです。
# とはいえ、2.times { 50.times {|i| ENV[i.to_s] = i.to_s } }
# なんてしても BeOS ではいっこうに落ちなかったのですが・・・