diff --git a/ChangeLog b/ChangeLog index 981afba581..220c1193d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Oct 12 19:07:55 2010 NARUSE, Yui + + * error.c (syserr_initialize): taint message if mesg is given + and it is tainted. + Tue Oct 12 18:25:43 2010 NARUSE, Yui * io.c (rb_io_ungetc): always see Bignum. On 32bit valid value diff --git a/error.c b/error.c index 94126f709b..4ad252bde1 100644 --- a/error.c +++ b/error.c @@ -1059,6 +1059,7 @@ syserr_initialize(int argc, VALUE *argv, VALUE self) if (le != me && rb_enc_asciicompat(me)) le = me; }/* else assume err is non ASCII string. */ + if (OBJ_TAINTED(str)) OBJ_TAINT(mesg); rb_enc_associate(mesg, le); } else {