From 4bb0e01da2083bd537444ce7f27f3e1cdfa23712 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 19 Apr 2023 18:41:53 +0900 Subject: [rubygems/rubygems] warn message when RubyGems handle invalid yaml like 'invalid: foo: bar' https://github.com/rubygems/rubygems/commit/b8d0c25b7e --- lib/rubygems/config_file.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/rubygems/config_file.rb b/lib/rubygems/config_file.rb index 42e408f254..1261e1e1a6 100644 --- a/lib/rubygems/config_file.rb +++ b/lib/rubygems/config_file.rb @@ -347,7 +347,13 @@ if you believe they were disclosed to a third party. return {} unless filename && !filename.empty? && File.exist?(filename) begin - return self.class.load_with_rubygems_config_hash(File.read(filename)) + config = self.class.load_with_rubygems_config_hash(File.read(filename)) + if config.keys.any? { |k| k.include?(":") } + warn "Failed to load #{filename} because it doesn't contain valid YAML hash" + return {} + else + return config + end rescue *yaml_errors => e warn "Failed to load #{filename}, #{e}" rescue Errno::EACCES -- cgit v1.2.1