Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cf35c41d585e1d65b51404b0cbb247cc91017a15
      
https://github.com/WebKit/WebKit/commit/cf35c41d585e1d65b51404b0cbb247cc91017a15
  Author: Chris Dumez <[email protected]>
  Date:   2026-06-11 (Thu, 11 Jun 2026)

  Changed paths:
    M Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp

  Log Message:
  -----------
  Remove dead key-store-full detection in CtapAuthenticator
https://bugs.webkit.org/show_bug.cgi?id=316753
rdar://problem/316753

Reviewed by Pascoe.

continueMakeCredentialAfterCheckExcludedCredentials() guarded a key-store-full
branch with:
    m_info.remainingDiscoverableCredentials() && 
!m_info.remainingDiscoverableCredentials()
remainingDiscoverableCredentials() returns a std::optional<uint32_t>, so this is
`opt.has_value() && !opt.has_value()`, which is always false. The clause was 
dead
and only m_isKeyStoreFull ever took the branch.

Detecting a full discoverable credential store from the getInfo response is not
the right behavior: getInfo is known before the user selects an authenticator
(selection happens when the user taps a key during makeCredential), so reacting 
to
a full store here would error out the ceremony whenever a full key is plugged 
in,
even when the user intends to use a different key. A full store is correctly 
handled
once the selected key responds with CTAP2_ERR_KEY_STORE_FULL, which sets
m_isKeyStoreFull. Remove the always-false clause rather than make it live.

* Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueMakeCredentialAfterCheckExcludedCredentials):

Canonical link: https://commits.webkit.org/315062@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to