From b3507bf147ff47e331da36ba7c8e6b700c513633 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 28 Mar 2019 03:46:48 +0000 Subject: erb.rb: prohibit marshaling [EXPERIMENTAL] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/erb.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/erb.rb') diff --git a/lib/erb.rb b/lib/erb.rb index 2adc5e0e58..df9a1e910d 100644 --- a/lib/erb.rb +++ b/lib/erb.rb @@ -833,6 +833,7 @@ class ERB @src, @encoding, @frozen_string = *compiler.compile(str) @filename = nil @lineno = 0 + @_init = self.class.singleton_class end NOT_GIVEN = Object.new private_constant :NOT_GIVEN @@ -891,6 +892,9 @@ class ERB # code evaluation. # def result(b=new_toplevel) + unless @_init.equal?(self.class.singleton_class) + raise ArgumentError, "not initialized" + end if @safe_level proc do prev_safe_level = $SAFE -- cgit v1.2.3