[前][次][番号順一覧][スレッド一覧]

ruby-changes:12285

From: matz <ko1@a...>
Date: Tue, 7 Jul 2009 12:55:34 +0900 (JST)
Subject: [ruby-changes:12285] Ruby:r23978 (trunk): * enum.c (rb_enum_join): should propagate taint to the return

matz	2009-07-07 12:55:18 +0900 (Tue, 07 Jul 2009)

  New Revision: 23978

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23978

  Log:
    * enum.c (rb_enum_join): should propagate taint to the return
      value.  the change was overridden by r23967.  [ruby-core:24176]

  Modified files:
    trunk/ChangeLog
    trunk/enum.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 23977)
+++ ChangeLog	(revision 23978)
@@ -1,3 +1,8 @@
+Tue Jul  7 12:47:28 2009  Yukihiro Matsumoto  <matz@r...>
+
+	* enum.c (rb_enum_join): should propagate taint to the return
+	  value.  the change was overridden by r23967.  [ruby-core:24176]
+
 Tue Jul  7 11:56:52 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* gc.c (GC_PROF_SET_MALLOC_INFO, GC_PROF_SET_HEAP_INFO): simplified.
Index: enum.c
===================================================================
--- enum.c	(revision 23977)
+++ enum.c	(revision 23978)
@@ -1825,10 +1825,14 @@
 rb_enum_join(VALUE obj, VALUE sep)
 {
     VALUE args[2];
+
     args[0] = 0;
     args[1] = sep;
     rb_block_call(obj, id_each, 0, 0, join_i, (VALUE)args);
-    return args[0] ? args[0] : rb_str_new(0, 0);
+    if (!args[0]) args[0] = rb_str_new(0, 0);
+    OBJ_INFECT(args[0], obj);
+
+    return args[0];
 }
 
 /*

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]