Tietew といいます。

Kconv(NKF) が汚染を取り除いてしまうようですが,これはまずくないです
か?

tietew@sakura:~$ ruby -v
ruby 1.6.4 (2001-06-04) [i686-linux]
tietew@sakura:~$ irb -r kconv
irb(main):001:0> "a".taint.tojis.tainted?
false
irb(main):002:0>
tietew@sakura:~$ ruby-1.7 -v
ruby 1.7.1 (2001-07-03) [i686-linux]
tietew@sakura:~$ ruby-1.7 -r kconv `which irb`
irb(main):001:0> "a".taint.tojis.tainted?
false
irb(main):002:0>

eRuby で ($SAFE=1) Net::HTTP でとってきた文字列を Kconv にかけて 
eval しても SecurityError にならないのでおかしいなと思って調べたら,
Kconv がロンダリングしてたみたいです。
# 最初気が付かなかった

で,こういう場合は $SAFE=4 で eval するのが正しいんですよね?


↓えーと,こうかな?

Index: nkf.c
===================================================================
RCS file: /src/ruby/ext/nkf/nkf.c,v
retrieving revision 1.5
diff -u -2 -r1.5 nkf.c
--- nkf.c	1999/10/20 07:10:23	1.5
+++ nkf.c	2001/07/05 11:28:53
@@ -81,4 +81,6 @@
   RSTRING(dst)->ptr[output_ctr] = '\0';
   RSTRING(dst)->len = output_ctr;
+  if(OBJ_TAINTED(src))
+    OBJ_TAINT(dst);

   return dst;


―[ Tietew ]――――――――――――――――――――――――――――
 メ : tietew / tietew.net / tietew / raug.net / tietew / masuclub.net
ホペ: http://www.tietew.net/     Tietew Windows Lab.
      http://www.masuclub.net/   鱒倶楽部
指紋: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA