diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-05-12 16:47:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-12 16:47:55 +0200 |
commit | 43d754eb42e119f4852170988e04a4cb9c4ecb64 (patch) | |
tree | 0ae48ee2ce5757f65c06139711c3d34b57b33468 | |
parent | 2cc0d56652906e5c021aafe66dd50d5983399c37 (diff) |
Fix not rejecting remote URIs when parsing out local IDs (#3012)
-rw-r--r-- | app/lib/tag_manager.rb | 1 | ||||
-rw-r--r-- | app/services/process_interaction_service.rb | 4 |
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) |