diff options
author | Ruiyu Ni <ruiyu.ni@intel.com> | 2016-07-12 13:42:59 +0800 |
---|---|---|
committer | Hao Wu <hao.a.wu@intel.com> | 2016-07-25 11:04:08 +0800 |
commit | 7e03c337f02a34fe83c05b1b715ff259c7a40294 (patch) | |
tree | 3f5d35579b12fe308b40c8e9f6193cc5ae141789 | |
parent | 0fce367ca37efbb4f1f815923623b751f93673ee (diff) | |
download | edk2-platforms-7e03c337f02a34fe83c05b1b715ff259c7a40294.tar.xz |
ShellPkg/Dp: Handle memory allocation failure
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
(cherry picked from commit d758f80971a7447328d67dd5d4dd2a94dabe1656)
-rw-r--r-- | ShellPkg/Library/UefiDpLib/Dp.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ShellPkg/Library/UefiDpLib/Dp.c b/ShellPkg/Library/UefiDpLib/Dp.c index 4bad3c2f72..75c7d11dc3 100644 --- a/ShellPkg/Library/UefiDpLib/Dp.c +++ b/ShellPkg/Library/UefiDpLib/Dp.c @@ -259,13 +259,19 @@ ShellCommandRunDp ( CustomCumulativeToken = ShellCommandLineGetValue (ParamPackage, L"-c");
if (CustomCumulativeToken != NULL) {
CustomCumulativeData = AllocateZeroPool (sizeof (PERF_CUM_DATA));
- ASSERT (CustomCumulativeData != NULL);
+ if (CustomCumulativeData == NULL) {
+ return SHELL_OUT_OF_RESOURCES;
+ }
CustomCumulativeData->MinDur = 0;
CustomCumulativeData->MaxDur = 0;
CustomCumulativeData->Count = 0;
CustomCumulativeData->Duration = 0;
NameSize = StrLen (CustomCumulativeToken) + 1;
CustomCumulativeData->Name = AllocateZeroPool (NameSize);
+ if (CustomCumulativeData->Name == NULL) {
+ FreePool (CustomCumulativeData);
+ return SHELL_OUT_OF_RESOURCES;
+ }
UnicodeStrToAsciiStrS (CustomCumulativeToken, CustomCumulativeData->Name, NameSize);
}
|