36958.patch

Go MAEDA, 2022-04-14 14:50

Download (1.55 KB)

View differences:

lib/redmine/wiki_formatting/common_mark/external_links_filter.rb
31 31
            next unless url
32 32
            next if url.starts_with?("/") || url.starts_with?("#") || !url.include?(':')
33 33

  
34
            scheme = URI.parse(url).scheme
34
            begin
35
              scheme = URI.parse(url).scheme
36
            rescue URI::InvalidURIError
37
              scheme = nil
38
            end
35 39
            next if scheme.blank?
36 40

  
37 41
            klass = node["class"].presence
test/unit/lib/redmine/wiki_formatting/common_mark/external_links_filter_test.rb
44 44
    def test_mailto_links_should_have_email_class
45 45
      assert_equal %(<a href="mailto:user@example.org" class="email">user</a>), filter(%(<a href="mailto:user@example.org">user</a>))
46 46
    end
47

  
48
    def test_malformed_uri_should_not_cause_exception
49
      assert_nothing_raised do
50
        filter(%(<a href="http://example.com/foo#bar#">Malformed URI</a>))
51
      end
52
    end
47 53
  end
48 54
end