File CVE-2023-22796.patch of Package rubygem-activesupport-5_1.27574
--- activesupport.orig/lib/active_support/inflector/methods.rb 2023-01-25 15:42:22.383076682 +0100
+++ activesupport/lib/active_support/inflector/methods.rb 2023-01-25 15:44:01.421981165 +0100
@@ -91,8 +91,7 @@ module ActiveSupport
return camel_cased_word unless /[A-Z-]|::/.match?(camel_cased_word)
word = camel_cased_word.to_s.gsub("::".freeze, "/".freeze)
word.gsub!(/(?:(?<=([A-Za-z\d]))|\b)(#{inflections.acronym_regex})(?=\b|[^a-z])/) { "#{$1 && '_'.freeze }#{$2.downcase}" }
- word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2'.freeze)
- word.gsub!(/([a-z\d])([A-Z])/, '\1_\2'.freeze)
+ word.gsub!(/([A-Z])(?=[A-Z][a-z])|([a-z\d])(?=[A-Z])/) { ($1 || $2) << "_".freeze }
word.tr!("-".freeze, "_".freeze)
word.downcase!
word