From d9b043d32ccd5ae25ef7db99c042fd0adc9b4a9f Mon Sep 17 00:00:00 2001 From: Mathijs van Veluw Date: Sun, 29 Dec 2024 21:26:03 +0100 Subject: [PATCH] Fix issues when uri match is a string (#5332) --- src/db/models/cipher.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/db/models/cipher.rs b/src/db/models/cipher.rs index 048cb4d1..326f3d41 100644 --- a/src/db/models/cipher.rs +++ b/src/db/models/cipher.rs @@ -242,6 +242,14 @@ impl Cipher { // Set the first element of the Uris array as Uri, this is needed several (mobile) clients. if self.atype == 1 { if type_data_json["uris"].is_array() { + // Fix uri match values first, they are only allowed to be a number or null + // If it is a string, convert it to null since all clients do not allow strings anyway + let uri_count = type_data_json["uris"].as_array().unwrap().len(); + for n in 0..uri_count { + if type_data_json["uris"][n]["match"].is_string() { + type_data_json["uris"][n]["match"] = Value::Null; + } + } let uri = type_data_json["uris"][0]["uri"].clone(); type_data_json["uri"] = uri; } else {