diff options
author | Paul Slaughter <pslaughter@gitlab.com> | 2018-10-12 16:39:13 -0500 |
---|---|---|
committer | Paul Slaughter <pslaughter@gitlab.com> | 2018-10-12 16:58:08 -0500 |
commit | 2f4afe45525f6536c808d46249d7557ea14de7e8 (patch) | |
tree | 714642380e5ffbc6ba8065e9fa50e4bfa009ee93 /app/presenters | |
parent | 1103f589f0a77bf11ca3103165fb287a6d092eb5 (diff) | |
download | gitlab-ce-2f4afe45525f6536c808d46249d7557ea14de7e8.tar.gz |
Fix XSS in MR source branch name
Diffstat (limited to 'app/presenters')
-rw-r--r-- | app/presenters/merge_request_presenter.rb | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/app/presenters/merge_request_presenter.rb b/app/presenters/merge_request_presenter.rb index 3f565b826dd..1db6c9eff36 100644 --- a/app/presenters/merge_request_presenter.rb +++ b/app/presenters/merge_request_presenter.rb @@ -108,16 +108,10 @@ class MergeRequestPresenter < Gitlab::View::Presenter::Delegated namespace = source_project_namespace branch = source_branch - if source_branch_exists? - namespace = link_to(namespace, project_path(source_project)) - branch = link_to(branch, project_tree_path(source_project, source_branch)) - end + namespace_link = source_branch_exists? ? link_to(namespace, project_path(source_project)) : ERB::Util.html_escape(namespace) + branch_link = source_branch_exists? ? link_to(branch, project_tree_path(source_project, source_branch)) : ERB::Util.html_escape(branch) - if for_fork? - namespace + ":" + branch - else - branch - end + for_fork? ? "#{namespace_link}:#{branch_link}" : branch_link end def closing_issues_links |