about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-05-12 16:47:55 +0200
committerGitHub <noreply@github.com>2017-05-12 16:47:55 +0200
commit43d754eb42e119f4852170988e04a4cb9c4ecb64 (patch)
tree0ae48ee2ce5757f65c06139711c3d34b57b33468 /app
parent2cc0d56652906e5c021aafe66dd50d5983399c37 (diff)
Fix not rejecting remote URIs when parsing out local IDs (#3012)
Diffstat (limited to 'app')
-rw-r--r--app/lib/tag_manager.rb1
-rw-r--r--app/services/process_interaction_service.rb4
2 files changed, 4 insertions, 1 deletions
diff --git a/app/lib/tag_manager.rb b/app/lib/tag_manager.rb
index 6170a90de..55aed92e3 100644
--- a/app/lib/tag_manager.rb
+++ b/app/lib/tag_manager.rb
@@ -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
diff --git a/app/services/process_interaction_service.rb b/app/services/process_interaction_service.rb
index 16eac2353..bc8361510 100644
--- a/app/services/process_interaction_service.rb
+++ b/app/services/process_interaction_service.rb
@@ -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)