From b4ddf0eb49f7ee41c075b69ed69557f8fa3d5b85 Mon Sep 17 00:00:00 2001 From: Eric Dong Date: Wed, 6 Apr 2016 12:52:44 +0800 Subject: [PATCH] SecurityPkg OpalPasswordDxe: Check the pointer before use it. Check the pointer before use it to make the code more safely. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong Reviewed-by: Feng Tian --- .../Tcg/Opal/OpalPasswordDxe/OpalHii.c | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.c b/SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.c index 250cb438e9..eb7d59b52c 100644 --- a/SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.c +++ b/SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.c @@ -435,12 +435,12 @@ GetDiskNameStringId( EFI_STATUS EFIAPI DriverCallback( - CONST EFI_HII_CONFIG_ACCESS_PROTOCOL* This, + CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, EFI_BROWSER_ACTION Action, EFI_QUESTION_ID QuestionId, UINT8 Type, - EFI_IFR_TYPE_VALUE* Value, - EFI_BROWSER_ACTION_REQUEST* ActionRequest + EFI_IFR_TYPE_VALUE *Value, + EFI_BROWSER_ACTION_REQUEST *ActionRequest ) { HII_KEY HiiKey; @@ -448,6 +448,8 @@ DriverCallback( if (ActionRequest != NULL) { *ActionRequest = EFI_BROWSER_ACTION_REQUEST_NONE; + } else { + return EFI_INVALID_PARAMETER; } // @@ -644,14 +646,13 @@ HiiPsidRevert( UnicodeStrToAsciiStr(gHiiConfiguration.Psid, (CHAR8*)Psid.Psid); - OpalDisk = HiiGetOpalDiskCB(gHiiConfiguration.SelectedDiskIndex); - - ZeroMem(&Session, sizeof(Session)); - Session.Sscp = OpalDisk->Sscp; - Session.MediaId = OpalDisk->MediaId; - Session.OpalBaseComId = OpalDisk->OpalBaseComId; - + OpalDisk = HiiGetOpalDiskCB (gHiiConfiguration.SelectedDiskIndex); if (OpalDisk != NULL) { + ZeroMem(&Session, sizeof(Session)); + Session.Sscp = OpalDisk->Sscp; + Session.MediaId = OpalDisk->MediaId; + Session.OpalBaseComId = OpalDisk->OpalBaseComId; + Ret = OpalSupportPsidRevert(&Session, Psid.Psid, (UINT32)sizeof(Psid.Psid), OpalDisk->OpalDevicePath); }