summaryrefslogtreecommitdiff
path: root/lib/banzai/filter
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2016-06-18 20:48:58 +0000
committerRobert Speicher <robert@gitlab.com>2016-06-18 20:48:58 +0000
commit98cede7ebeae9dac994b35b66be6aab14eb932b3 (patch)
tree58451c71c114977dfb164b0d4aa3b49a44a56afc /lib/banzai/filter
parent0aab84c76012c16061ffccf4473aaeab2c528c2a (diff)
parent7c9eba891963451a1feb2e5bbef90fdcac1496ff (diff)
downloadgitlab-ce-98cede7ebeae9dac994b35b66be6aab14eb932b3.tar.gz
Merge branch 'fix-out-of-bounds-markdown-refs' into 'master'
Fix RangeError exceptions when referring to issues or merge requests outside of max database values When using #XYZ in Markdown text, if XYZ exceeds the maximum value of a signed 32-bit integer, we get an exception when the Markdown render attempts to run `where(iids: XYZ)`. Introduce a method that will throw out out-of-bounds values. Closes #18777 See merge request !4777
Diffstat (limited to 'lib/banzai/filter')
-rw-r--r--lib/banzai/filter/abstract_reference_filter.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/banzai/filter/abstract_reference_filter.rb b/lib/banzai/filter/abstract_reference_filter.rb
index 4815bafe238..81d66271136 100644
--- a/lib/banzai/filter/abstract_reference_filter.rb
+++ b/lib/banzai/filter/abstract_reference_filter.rb
@@ -218,8 +218,9 @@ module Banzai
nodes.each do |node|
node.to_html.scan(regex) do
project = $~[:project] || current_project_path
+ symbol = $~[object_sym]
- refs[project] << $~[object_sym]
+ refs[project] << symbol if object_class.reference_valid?(symbol)
end
end