From: UENO Katsuhiro Date: 2001-11-05T19:27:31+09:00 Subject: [ruby-dev:15037] [PATCH] String#dup and untaint うえのです。 1.6.5 でこんなスクリプトを実行すると a="1"+"2" a.taint p a.dup.untaint.dup.tainted? # must be `false' true が表示されます。 こんな感じに対応してみました。1.6.5 に対するパッチです。 --- string.c.orig Mon Nov 5 15:23:35 2001 +++ string.c Mon Nov 5 15:28:21 2001 @@ -211,6 +211,8 @@ } else if (RSTRING(str)->orig) { str2 = rb_str_new3(RSTRING(str)->orig); + FL_UNSET(str2, FL_TAINT); + OBJ_INFECT(str2, str); } else { str2 = rb_str_new3(rb_str_new4(str)); -- ---- - - - -- - うえの かつひろ