Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Provaznik <jprovaznik@gitlab.com>2018-10-29 19:06:01 +0300
committerJan Provaznik <jprovaznik@gitlab.com>2018-10-29 19:06:01 +0300
commitb5ca4ea15dee21b131b336d4189a75a283c8d1f1 (patch)
tree8530c19913a7aa92b7a83a0810a57e1bd6d49312 /app/presenters
parent107351e07a69d94cd9aa27ca3439b1d79845fdc5 (diff)
parent2f4afe45525f6536c808d46249d7557ea14de7e8 (diff)
Merge branch 'security-51527-xss-in-mr-source-branch' into 'master'
[master] Fix XSS in MR source branch name See merge request gitlab/gitlabhq!2544
Diffstat (limited to 'app/presenters')
-rw-r--r--app/presenters/merge_request_presenter.rb12
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