diff options
author | Robert Speicher <robert@gitlab.com> | 2016-07-07 20:47:03 +0300 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-07-07 20:47:03 +0300 |
commit | 86d83a3a85dfc252ee5efb8cc630e1a4295adb93 (patch) | |
tree | a6edf4ac392eedea806ec880ae7bbf0af0e26dc3 | |
parent | 062c7a30742d617d8d0939c3bb6ba733919fe00b (diff) | |
parent | cd63d0a53844507fe7bbf0fabeb89dadecf85fe7 (diff) |
Merge branch 'escape-file-extension' into 'master'
Escape file extension when parsing search results
When a file extension contains characters which have a meaning in regular expressions, the search may crash.
Fixes #18553
See merge request !5141
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/models/repository.rb | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG index 937aefefd99..cbda28824aa 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -8,6 +8,7 @@ v 8.10.0 (unreleased) - Wrap code blocks on Activies and Todos page. !4783 (winniehell) - Align flash messages with left side of page content !4959 (winniehell) - Display last commit of deleted branch in push events !4699 (winniehell) + - Escape file extension when parsing search results !5141 (winniehell) - Apply the trusted_proxies config to the rack request object for use with rack_attack - Add Sidekiq queue duration to transaction metrics. - Add a new column `artifacts_size` to table `ci_builds` !4964 diff --git a/app/models/repository.rb b/app/models/repository.rb index 078ca8f4e13..d232d422195 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -911,7 +911,7 @@ class Repository if line =~ /^.*:.*:\d+:/ ref, filename, startline = line.split(':') startline = startline.to_i - index - extname = File.extname(filename) + extname = Regexp.escape(File.extname(filename)) basename = filename.sub(/#{extname}$/, '') break end |