]> cat aescling's git repositories - mastodon.git/commitdiff
Fix not rejecting remote URIs when parsing out local IDs (#3012)
authorEugen Rochko <eugen@zeonfederated.com>
Fri, 12 May 2017 14:47:55 +0000 (16:47 +0200)
committerGitHub <noreply@github.com>
Fri, 12 May 2017 14:47:55 +0000 (16:47 +0200)
app/lib/tag_manager.rb
app/services/process_interaction_service.rb

index 6170a90def5c9eedf3060f678a73dab7b4591e18..55aed92e3ac73ccbd5b19a279ac6eea3d6de75f2 100644 (file)
@@ -48,6 +48,7 @@ class TagManager
   end
 
   def unique_tag_to_local_id(tag, expected_type)
+    return nil unless local_id?(tag)
     matches = Regexp.new("objectId=([\\d]+):objectType=#{expected_type}").match(tag)
     return matches[1] unless matches.nil?
   end
index 16eac235390b666c30255c3d787c0acef918f012..bc8361510c78b825624ee13abd090ab2ca4865f3 100644 (file)
@@ -123,7 +123,9 @@ class ProcessInteractionService < BaseService
   end
 
   def status(xml)
-    Status.find(TagManager.instance.unique_tag_to_local_id(activity_id(xml), 'Status'))
+    uri = activity_id(xml)
+    return nil unless TagManager.instance.local_id?(uri)
+    Status.find(TagManager.instance.unique_tag_to_local_id(uri, 'Status'))
   end
 
   def activity_id(xml)