diff options
author | Robert Speicher <robert@gitlab.com> | 2016-01-20 19:03:32 +0000 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2016-01-20 14:03:58 -0500 |
commit | 96f12f57fc4041add82aaf13f61ca22f0bcd5392 (patch) | |
tree | a5c7d587e7329e5da6e855063aa14bbcad2bd321 | |
parent | 645f7750816d3f92d42221dd2fa38e60d1148b42 (diff) | |
download | gitlab-ce-96f12f57fc4041add82aaf13f61ca22f0bcd5392.tar.gz |
Merge branch 'fix-error-500-with-invalid-utf8' into 'master'
Gracefully handle invalid UTF-8 sequences in Markdown links
Closes #6077
See merge request !2382
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | lib/banzai/filter/reference_filter.rb | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG index ed637bc2548..17516b43181 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,7 @@ v 8.4.0 (unreleased) - Autocomplete data is now always loaded, instead of when focusing a comment text area - Improved performance of finding issues for an entire group - Added custom application performance measuring system powered by InfluxDB + - Gracefully handle invalid UTF-8 sequences in Markdown links (Stan Hu) - Bump fog to 1.36.0 (Stan Hu) - Add user's last used IP addresses to admin page (Stan Hu) - Add housekeeping function to project settings page diff --git a/lib/banzai/filter/reference_filter.rb b/lib/banzai/filter/reference_filter.rb index 20bd4f7ee6e..3637b1bac94 100644 --- a/lib/banzai/filter/reference_filter.rb +++ b/lib/banzai/filter/reference_filter.rb @@ -133,6 +133,7 @@ module Banzai next unless link && text link = CGI.unescape(link) + next unless link.force_encoding('UTF-8').valid_encoding? # Ignore ending punctionation like periods or commas next unless link == text && text =~ /\A#{pattern}/ @@ -170,6 +171,7 @@ module Banzai next unless link && text link = CGI.unescape(link) + next unless link.force_encoding('UTF-8').valid_encoding? next unless link && link =~ /\A#{pattern}\z/ html = yield link, text |