From 09691d005fe64ab9f67d486e93d7f45071139800 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 16 Oct 2024 17:33:20 +0900 Subject: [PATCH 1/2] Also use safe_load on YAML::Store --- lib/yaml/store.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/yaml/store.rb b/lib/yaml/store.rb index f24e4ad..859621d 100644 --- a/lib/yaml/store.rb +++ b/lib/yaml/store.rb @@ -69,8 +69,8 @@ def dump(table) end def load(content) - table = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(content) : YAML.load(content) - if table == false + table = YAML.respond_to?(:safe_load) ? YAML.safe_load(content, permitted_classes: [Symbol]) : YAML.load(content) + if table == false || table == nil {} else table From 5b39653c52416283aea377ee52b3b0a40ddf2207 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 16 Oct 2024 17:41:56 +0900 Subject: [PATCH 2/2] Support old version of Psych --- lib/yaml/store.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/yaml/store.rb b/lib/yaml/store.rb index 859621d..27c823b 100644 --- a/lib/yaml/store.rb +++ b/lib/yaml/store.rb @@ -69,7 +69,15 @@ def dump(table) end def load(content) - table = YAML.respond_to?(:safe_load) ? YAML.safe_load(content, permitted_classes: [Symbol]) : YAML.load(content) + table = if YAML.respond_to?(:safe_load) + if Psych::VERSION >= "3.1" + YAML.safe_load(content, permitted_classes: [Symbol]) + else + YAML.safe_load(content, [Symbol]) + end + else + YAML.load(content) + end if table == false || table == nil {} else