X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=SecurityPkg%2FUserIdentification%2FUserIdentifyManagerDxe%2FUserIdentifyManager.c;fp=SecurityPkg%2FUserIdentification%2FUserIdentifyManagerDxe%2FUserIdentifyManager.c;h=adcf9bf6528d235914cec2dbcc64fe13033a44a0;hb=fab1046560e520486f255093cbb4fe36a347f93a;hp=268dfab469992b0470d86e8a49ed0b2177e9b42b;hpb=639a76d1912f8eb07e26b1a8f2393b682be65f2c;p=mirror_edk2.git diff --git a/SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManager.c b/SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManager.c index 268dfab469..adcf9bf652 100644 --- a/SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManager.c +++ b/SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManager.c @@ -2411,8 +2411,7 @@ UserIdentifyManagerCallback ( Status = EFI_SUCCESS; break; - case EFI_BROWSER_ACTION_CHANGING: - { + case EFI_BROWSER_ACTION_CHANGED: if (QuestionId >= LABEL_PROVIDER_NAME) { // // QuestionId comes from the second Form (Select a Credential Provider if identity @@ -2425,10 +2424,16 @@ UserIdentifyManagerCallback ( } return EFI_SUCCESS; } - + break; + + case EFI_BROWSER_ACTION_CHANGING: // // QuestionId comes from the first Form (Select a user to identify). // + if (QuestionId >= LABEL_PROVIDER_NAME) { + return EFI_SUCCESS; + } + User = (USER_PROFILE_ENTRY *) mUserProfileDb->UserProfile[QuestionId & 0xFFF]; Status = GetIdentifyType (User, &PolicyType); if (EFI_ERROR (Status)) { @@ -2456,9 +2461,10 @@ UserIdentifyManagerCallback ( mCurrentUser = (EFI_USER_PROFILE_HANDLE) User; mIdentified = TRUE; - *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT; + if (Type == EFI_IFR_TYPE_REF) { + Value->ref.FormId = FORMID_INVALID_FORM; + } } - } break; default: