summaryrefslogtreecommitdiff
path: root/chromium/device/fido/get_assertion_task.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/device/fido/get_assertion_task.cc
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/device/fido/get_assertion_task.cc')
-rw-r--r--chromium/device/fido/get_assertion_task.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/chromium/device/fido/get_assertion_task.cc b/chromium/device/fido/get_assertion_task.cc
index cef806ca853..16d88c8a5a4 100644
--- a/chromium/device/fido/get_assertion_task.cc
+++ b/chromium/device/fido/get_assertion_task.cc
@@ -61,11 +61,15 @@ void GetAssertionTask::Cancel() {
// static
bool GetAssertionTask::StringFixupPredicate(
const std::vector<const cbor::Value*>& path) {
+ // This filters out all elements that are not string-keyed, direct children
+ // of key 0x04, which is the `user` element of a getAssertion response.
if (path.size() != 2 || !path[0]->is_unsigned() ||
path[0]->GetUnsigned() != 4 || !path[1]->is_string()) {
return false;
}
+ // Of those string-keyed children, only `name` and `displayName` may have
+ // truncated UTF-8 in their values.
const std::string& user_key = path[1]->GetString();
return user_key == "name" || user_key == "displayName";
}