From d51f9d2e2f8fd62633db584461595c142eeed170 Mon Sep 17 00:00:00 2001 From: Masahiro Nakagawa Date: Fri, 10 Feb 2017 15:35:36 +0900 Subject: [PATCH] Revert "Use BasicObject for cleanroom" --- lib/fluent/plugin/filter_record_transformer.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/fluent/plugin/filter_record_transformer.rb b/lib/fluent/plugin/filter_record_transformer.rb index ec2b749dc2..62d6142a79 100644 --- a/lib/fluent/plugin/filter_record_transformer.rb +++ b/lib/fluent/plugin/filter_record_transformer.rb @@ -308,10 +308,14 @@ def expand(str, placeholders, force_stringify = false) raise "failed to expand `#{str}` : error = #{e}" end - class CleanroomExpander < BasicObject + class CleanroomExpander def expand(__str_to_eval__, tag, time, record, tag_parts, tag_prefix, tag_suffix, hostname) instance_eval(__str_to_eval__) end + + (Object.instance_methods).each do |m| + undef_method m unless m.to_s =~ /^__|respond_to_missing\?|object_id|public_methods|instance_eval|method_missing|define_singleton_method|respond_to\?|new_ostruct_member/ + end end end end