diff --git a/ee/app/models/push_rule.rb b/ee/app/models/push_rule.rb index a2a73a9f76382f6e16d1422eac021e9bfb97a914..40c35885f3806f6fda94eb51938711bd7b5d05c5 100644 --- a/ee/app/models/push_rule.rb +++ b/ee/app/models/push_rule.rb @@ -122,7 +122,7 @@ def commit_committer_check=(value) def data_match?(data, regex, multiline: false) if regex.present? regexp = if allow_regex_fallback? - Gitlab::UntrustedRegexp.with_fallback(regex, multiline: multiline) + Gitlab::UntrustedRegexp::RubySyntax.fabricate!('/' + regex + '/') else Gitlab::UntrustedRegexp.new(regex, multiline: multiline) end diff --git a/ee/spec/models/push_rule_spec.rb b/ee/spec/models/push_rule_spec.rb index 407e4b04fa7c4b470513ac38af28776938bb9411..ec3e89b785d9882dc6a55f38bd7c97f1febc4870 100644 --- a/ee/spec/models/push_rule_spec.rb +++ b/ee/spec/models/push_rule_spec.rb @@ -62,13 +62,6 @@ subject.branch_name_allowed?('ee-feature-ee') end - - it 'falls back to ruby regex engine' do - push_rule.update_column(:branch_name_regex, '(ee|ce).*\1') - - expect(subject.branch_name_allowed?('ee-feature-ee')).to be true - expect(subject.branch_name_allowed?('ee-feature-ce')).to be false - end end end