]> cat aescling's git repositories - mastodon.git/commitdiff
Skip remote media URLs that don't have a hostname
authorEugen Rochko <eugen@zeonfederated.com>
Wed, 22 Feb 2017 18:55:14 +0000 (19:55 +0100)
committerEugen Rochko <eugen@zeonfederated.com>
Wed, 22 Feb 2017 18:55:14 +0000 (19:55 +0100)
app/models/account.rb
app/services/process_feed_service.rb

index ed5c461974ad1812cba6a3597a0495e77326230c..469695acd7d8f0edd388a2dab0429d218906e7d4 100644 (file)
@@ -138,7 +138,7 @@ class Account < ApplicationRecord
   def avatar_remote_url=(url)
     parsed_url = URI.parse(url)
 
-    return if !%w(http https).include?(parsed_url.scheme) || self[:avatar_remote_url] == url
+    return if !%w(http https).include?(parsed_url.scheme) || parsed_url.host.empty? || self[:avatar_remote_url] == url
 
     self.avatar              = parsed_url
     self[:avatar_remote_url] = url
index f0a62aa14e84a3ee62aef5c53368c182700bc45a..5d952df6fdd2ff990bbf554240935a2f1eea14ee 100644 (file)
@@ -181,6 +181,9 @@ class ProcessFeedService < BaseService
         next unless link['href']
 
         media = MediaAttachment.where(status: parent, remote_url: link['href']).first_or_initialize(account: parent.account, status: parent, remote_url: link['href'])
+        parsed_url = URI.parse(link['href'])
+
+        next if !%w(http https).include?(parsed_url.scheme) || parsed_url.host.empty?
 
         begin
           media.file_remote_url = link['href']