diff options
author | Marius Balteanu <marius.balteanu@zitec.com> | 2022-05-11 20:31:07 +0000 |
---|---|---|
committer | Marius Balteanu <marius.balteanu@zitec.com> | 2022-05-11 20:31:07 +0000 |
commit | a9840f3c1f640d06d204d18ba8a394e58198d74b (patch) | |
tree | a46de5d0798b1eb732c0b7068b1c7ae7944ba372 | |
parent | e9eea71eab2af83a657be86fc9e05fe8e901550f (diff) | |
download | redmine-a9840f3c1f640d06d204d18ba8a394e58198d74b.tar.gz redmine-a9840f3c1f640d06d204d18ba8a394e58198d74b.zip |
Merged r21558 and r21559 to 5.0-stable (#36958).
git-svn-id: https://svn.redmine.org/redmine/branches/5.0-stable@21570 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | lib/redmine/wiki_formatting/common_mark/external_links_filter.rb | 2 | ||||
-rw-r--r-- | test/unit/lib/redmine/wiki_formatting/common_mark/external_links_filter_test.rb | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/redmine/wiki_formatting/common_mark/external_links_filter.rb b/lib/redmine/wiki_formatting/common_mark/external_links_filter.rb index d2ea3fafa..4c25a7b13 100644 --- a/lib/redmine/wiki_formatting/common_mark/external_links_filter.rb +++ b/lib/redmine/wiki_formatting/common_mark/external_links_filter.rb @@ -31,7 +31,7 @@ module Redmine next unless url next if url.starts_with?("/") || url.starts_with?("#") || !url.include?(':') - scheme = URI.parse(url).scheme + scheme = URI.parse(url).scheme rescue nil next if scheme.blank? klass = node["class"].presence diff --git a/test/unit/lib/redmine/wiki_formatting/common_mark/external_links_filter_test.rb b/test/unit/lib/redmine/wiki_formatting/common_mark/external_links_filter_test.rb index fcfc3156b..d4b76c401 100644 --- a/test/unit/lib/redmine/wiki_formatting/common_mark/external_links_filter_test.rb +++ b/test/unit/lib/redmine/wiki_formatting/common_mark/external_links_filter_test.rb @@ -44,5 +44,11 @@ if Object.const_defined?(:CommonMarker) def test_mailto_links_should_have_email_class assert_equal %(<a href="mailto:user@example.org" class="email">user</a>), filter(%(<a href="mailto:user@example.org">user</a>)) end + + def test_malformed_uri_should_not_cause_exception + assert_nothing_raised do + filter(%(<a href="http://example.com/foo#bar#">Malformed URI</a>)) + end + end end end |