Thanks for the catch. -Shumin
-----Original Message----- From: Shah, Tapan [mailto:[email protected]] Sent: Thursday, April 28, 2016 9:55 PM To: Qiu, Shumin; [email protected] Cc: Carsey, Jaben Subject: RE: [PATCH] ShellPkg: Add NULL pointer check. This should be changed: + if (TempRetVal) { + goto EXIT; + } To: + if (TempRetVal == NULL) { + goto EXIT; + } Reviewed-by: Tapan Shah <[email protected]> -----Original Message----- From: Qiu Shumin [mailto:[email protected]] Sent: Thursday, April 28, 2016 3:26 AM To: [email protected] Cc: Qiu Shumin <[email protected]>; Jaben Carsey <[email protected]>; Shah, Tapan <[email protected]> Subject: [PATCH] ShellPkg: Add NULL pointer check. Add pointer check to avoid NULL pointer dereferenced. Cc: Jaben Carsey <[email protected]> Cc: Tapan Shah <[email protected]> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <[email protected]> --- .../UefiHandleParsingLib/UefiHandleParsingLib.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c index 58f1814..830ee3b 100644 --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c @@ -301,14 +301,26 @@ GraphicsOutputProtocolDumpInformation( SHELL_FREE_NON_NULL (Temp); - Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN (STR_GOP_RES_LIST_MAIN), NULL); + Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN + (STR_GOP_RES_LIST_MAIN), NULL); if (Temp == NULL) { + SHELL_FREE_NON_NULL (RetVal); + goto EXIT; + } TempRetVal = CatSPrint (RetVal, Temp); - SHELL_FREE_NON_NULL (RetVal); + SHELL_FREE_NON_NULL (RetVal); + if (TempRetVal) { + goto EXIT; + } RetVal = TempRetVal; SHELL_FREE_NON_NULL (Temp); - Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN (STR_GOP_RES_LIST_ENTRY), NULL); + Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN + (STR_GOP_RES_LIST_ENTRY), NULL); if (Temp == NULL) { + SHELL_FREE_NON_NULL (RetVal); + goto EXIT; + } + for (Mode = 0; Mode < GraphicsOutput->Mode->MaxMode; Mode++) { Status = GraphicsOutput->QueryMode ( @@ -334,6 +346,8 @@ GraphicsOutputProtocolDumpInformation( RetVal = TempRetVal; } + +EXIT: SHELL_FREE_NON_NULL(Temp); SHELL_FREE_NON_NULL(Fmt); -- 2.7.1.windows.2 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

