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

ruby-changes:4556

From: ko1@a...
Date: Wed, 16 Apr 2008 02:41:03 +0900 (JST)
Subject: [ruby-changes:4556] nobu - Ruby:r16050 (trunk): * ruby.c (process_options): preludes and parser need to run in safe

nobu	2008-04-16 02:40:46 +0900 (Wed, 16 Apr 2008)

  New Revision: 16050

  Modified files:
    trunk/ChangeLog
    trunk/ruby.c

  Log:
    * ruby.c (process_options): preludes and parser need to run in safe
      level 0.  [ruby-dev:34407]


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ruby.c?r1=16050&r2=16049&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16050&r2=16049&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 16049)
+++ ChangeLog	(revision 16050)
@@ -1,3 +1,8 @@
+Wed Apr 16 02:40:44 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* ruby.c (process_options): preludes and parser need to run in safe
+	  level 0.  [ruby-dev:34407]
+
 Wed Apr 16 02:26:27 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* ruby.c (process_options): dln_find_file returns the pointer to a
Index: ruby.c
===================================================================
--- ruby.c	(revision 16049)
+++ ruby.c	(revision 16050)
@@ -951,6 +951,7 @@
     rb_encoding *enc;
     const char *s;
     int i = proc_options(argc, argv, opt);
+    int safe;
 
     argc -= i;
     argv += i;
@@ -1052,6 +1053,8 @@
     process_sflag(opt);
 
     ruby_init_loadpath();
+    safe = rb_safe_level();
+    rb_set_safe_level_force(0);
     ruby_init_gems(!(opt->disable & DISABLE_BIT(gems)));
     parser = rb_parser_new();
     if (opt->yydebug) rb_parser_set_yydebug(parser, Qtrue);
@@ -1088,6 +1091,7 @@
 	}
 	tree = load_file(parser, opt->script, 1, opt);
     }
+    rb_set_safe_level_force(safe);
 
     if (!tree) return Qfalse;
 

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

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