Update HiiDataBase to fix the SCT hang issues by the invalid device path.
Update the driver config access protocol extractconfig and routeconfig interface to check the input parameters. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8349 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1161,12 +1161,12 @@ PlatOverMngrExtractConfig (
|
||||
EFI_STATUS Status;
|
||||
EFI_CALLBACK_INFO *Private;
|
||||
EFI_HII_CONFIG_ROUTING_PROTOCOL *HiiConfigRouting;
|
||||
|
||||
if (Request == NULL) {
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
Private = EFI_CALLBACK_INFO_FROM_THIS (This);
|
||||
if (Progress == NULL || Results == NULL || Request == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
*Progress = Request;
|
||||
Private = EFI_CALLBACK_INFO_FROM_THIS (This);
|
||||
HiiConfigRouting = Private->HiiConfigRouting;
|
||||
|
||||
//
|
||||
@@ -1210,6 +1210,15 @@ PlatOverMngrRouteConfig (
|
||||
UINT16 KeyValue;
|
||||
PLAT_OVER_MNGR_DATA *FakeNvData;
|
||||
|
||||
if (Configuration == NULL || Progress == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
*Progress = Configuration;
|
||||
|
||||
if (!HiiIsConfigHdrMatch (Configuration, &mPlatformOverridesManagerGuid, mVariableName)) {
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
Private = EFI_CALLBACK_INFO_FROM_THIS (This);
|
||||
FakeNvData = &Private->FakeNvData;
|
||||
if (!HiiGetBrowserData (&mPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData)) {
|
||||
@@ -1233,6 +1242,7 @@ PlatOverMngrRouteConfig (
|
||||
CommintChanges (Private, KeyValue, FakeNvData);
|
||||
}
|
||||
|
||||
*Progress = Configuration + StrLen (Configuration);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user