From a771b15700dcc5e8f2a7e5a149f66b10917e7ee1 Mon Sep 17 00:00:00 2001 From: Steven Sloan Date: Thu, 15 Jan 2015 02:46:59 -0500 Subject: [PATCH] rewrite CoreExtension::Data#key? to prevent potential SystemStackError MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit since data_for_path can trigger respond_to?, and respond_to? uses key? — a SystemStackError could trigger if data_for_path was called. --- middleman-core/lib/middleman-core/core_extensions/data.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/middleman-core/lib/middleman-core/core_extensions/data.rb b/middleman-core/lib/middleman-core/core_extensions/data.rb index 2f866ac0..c2fad38c 100644 --- a/middleman-core/lib/middleman-core/core_extensions/data.rb +++ b/middleman-core/lib/middleman-core/core_extensions/data.rb @@ -187,7 +187,7 @@ module Middleman end def key?(key) - @local_data.key?(key.to_s) || data_for_path(key) + ( @local_data.keys + @local_sources.keys + @callback_sources.keys ).include?(key.to_s) end alias_method :has_key?, :key?