summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-12-24 14:38:23 +0100
committerDouwe Maan <douwe@gitlab.com>2015-12-24 14:38:23 +0100
commit331154ffdf899a82c67487a70436ce49e494256b (patch)
tree103c69124ab7376105d369f5091eeac38cb867f3 /lib
parente622259d5be95ede9b4f52b0e654cdf0a7a4323f (diff)
downloadgitlab-ce-331154ffdf899a82c67487a70436ce49e494256b.tar.gz
Escape reference link text
Diffstat (limited to 'lib')
-rw-r--r--lib/banzai/filter/abstract_reference_filter.rb17
-rw-r--r--lib/banzai/filter/reference_filter.rb2
2 files changed, 11 insertions, 8 deletions
diff --git a/lib/banzai/filter/abstract_reference_filter.rb b/lib/banzai/filter/abstract_reference_filter.rb
index bdaa4721b4b..6b200dc2017 100644
--- a/lib/banzai/filter/abstract_reference_filter.rb
+++ b/lib/banzai/filter/abstract_reference_filter.rb
@@ -110,13 +110,7 @@ module Banzai
url = matches[:url] if matches.names.include?("url")
url ||= url_for_object(object, project)
- text = link_text
- unless text
- text = object.reference_link_text(context[:project])
-
- extras = object_link_text_extras(object, matches)
- text += " (#{extras.join(", ")})" if extras.any?
- end
+ text = link_text || escape_once(object_link_text(object, matches))
%(<a href="#{url}" #{data}
title="#{title}"
@@ -140,6 +134,15 @@ module Banzai
def object_link_title(object)
"#{object_class.name.titleize}: #{object.title}"
end
+
+ def object_link_text(object, matches)
+ text = object.reference_link_text(context[:project])
+
+ extras = object_link_text_extras(object, matches)
+ text += " (#{extras.join(", ")})" if extras.any?
+
+ text
+ end
end
end
end
diff --git a/lib/banzai/filter/reference_filter.rb b/lib/banzai/filter/reference_filter.rb
index 33457a3f361..c183702516a 100644
--- a/lib/banzai/filter/reference_filter.rb
+++ b/lib/banzai/filter/reference_filter.rb
@@ -48,7 +48,7 @@ module Banzai
end
def escape_once(html)
- ERB::Util.html_escape_once(html)
+ html.html_safe? ? html : ERB::Util.html_escape_once(html)
end
def ignore_parents