From c8c74322ba3f109b1a7740a5c16564cd6aa27494 Mon Sep 17 00:00:00 2001 From: Codex Audit Date: Sun, 30 Aug 2026 00:21:13 +0200 Subject: [PATCH] Preserve unsafe_load defaults with second-argument options --- lib/json/common.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/json/common.rb b/lib/json/common.rb index 271f2460..f78207eb 100644 --- a/lib/json/common.rb +++ b/lib/json/common.rb @@ -698,13 +698,13 @@ def pretty_generate(obj, opts = nil) # @attributes={"type"=>"Admin", "password"=>"0wn3d"}>} # def unsafe_load(source, proc = nil, options = nil) + if proc && options.nil? && proc.is_a?(Hash) + options = proc + proc = nil + end + opts = if options.nil? - if proc && proc.is_a?(Hash) - options, proc = proc, nil - options - else - _unsafe_load_default_options - end + _unsafe_load_default_options else _unsafe_load_default_options.merge(options) end