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