summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2010-06-04 01:29:03 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2010-06-04 01:29:03 +0000
commit13ad1def34bfd3f8fbfa4bc0bf814518a9047b27 (patch)
tree153007468251a83485bbbf164c9093867f39a27d /MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
parentc6498c1d459dbdedead7664fd3c6e498a337e4f1 (diff)
downloadedk2-platforms-13ad1def34bfd3f8fbfa4bc0bf814518a9047b27.tar.xz
Do the following fix up in SetupBrowser driver:
1) Check whether ConfigAccess is NULL before use it. 2) Don't do call back for UI_ACTION_REFRESH_FORMSET action. 3) Release resource before leave SetupBrowser() function. 4) Use the unified check method (HiiHandle, FormsetGuid and FormId) to check FORM is open or close. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10565 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/SetupBrowserDxe/Setup.c')
-rw-r--r--MdeModulePkg/Universal/SetupBrowserDxe/Setup.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
index e06228d4aa..42edc08970 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
@@ -2080,15 +2080,13 @@ LoadFormConfig (
//
// Check whether EfiVarstore with CallBack can be got.
//
- if ((Question->QuestionId != 0) && (Question->Storage != NULL) &&
+ if ((FormSet->ConfigAccess != NULL) &&
+ (Selection->Action != UI_ACTION_REFRESH_FORMSET) &&
+ (Question->QuestionId != 0) &&
+ (Question->Storage != NULL) &&
(Question->Storage->Type == EFI_HII_VARSTORE_EFI_VARIABLE) &&
((Question->QuestionFlags & EFI_IFR_FLAG_CALLBACK) == EFI_IFR_FLAG_CALLBACK)) {
- //
- // ConfigAccess can't be NULL.
- //
- if (FormSet->ConfigAccess == NULL) {
- return EFI_UNSUPPORTED;
- }
+
//
// Check QuestionValue does exist.
//