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
openSUSE Build Service is sponsored by