From e1a0e7e716816021b345da7fafad3bdcfb57a080 Mon Sep 17 00:00:00 2001 From: Tobi Lutke Date: Wed, 11 Mar 2026 08:55:55 -0400 Subject: [PATCH] use frozen EMPTY_ARRAY/EMPTY_HASH for Context @filters/@disabled_tags --- lib/liquid/context.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/liquid/context.rb b/lib/liquid/context.rb index 3b32584e..dd615ff3 100644 --- a/lib/liquid/context.rb +++ b/lib/liquid/context.rb @@ -36,9 +36,9 @@ module Liquid @resource_limits = resource_limits || ResourceLimits.new(environment.default_resource_limits) @base_scope_depth = 0 @interrupts = [] - @filters = [] + @filters = Const::EMPTY_ARRAY @global_filter = nil - @disabled_tags = {} + @disabled_tags = Const::EMPTY_HASH # Instead of constructing new StringScanner objects for each Expression parse, # we recycle the same one. @@ -245,6 +245,7 @@ module Liquid end def with_disabled_tags(tag_names) + @disabled_tags = {} if @disabled_tags.frozen? tag_names.each do |name| @disabled_tags[name] = @disabled_tags.fetch(name, 0) + 1 end