summaryrefslogtreecommitdiff
path: root/PerformancePkg
diff options
context:
space:
mode:
authorHao Wu <hao.a.wu@intel.com>2015-07-13 01:24:44 +0000
committerhwu1225 <hwu1225@Edk2>2015-07-13 01:24:44 +0000
commit6bc4e42f9d043bcda03f03a74e6dec0aa5c0ead1 (patch)
treeee069945a131dfccef7fd7db1e97f17b179d0b9d /PerformancePkg
parentc1fd37cd6bcb98143bd4a44f427735a748058ad8 (diff)
downloadedk2-platforms-6bc4e42f9d043bcda03f03a74e6dec0aa5c0ead1.tar.xz
PerformancePkg Dp_App: Fix ASSERT in GetNameFromHandle
This commit will resolve the issue brought by r17745. StrCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, StringPtr); The above using of StrCpyS will cause ASSERT if StringPtr is longer than mGaugeString. Therefore, StrnCpyS is used here to resolve the issue. Similar scenario is for: StrCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, NameString); (twice) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17935 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'PerformancePkg')
-rw-r--r--PerformancePkg/Dp_App/DpUtilities.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/PerformancePkg/Dp_App/DpUtilities.c b/PerformancePkg/Dp_App/DpUtilities.c
index 38d7aa37f1..ec5a524475 100644
--- a/PerformancePkg/Dp_App/DpUtilities.c
+++ b/PerformancePkg/Dp_App/DpUtilities.c
@@ -290,10 +290,11 @@ GetNameFromHandle (
);
SafeFreePool (BestLanguage);
if (!EFI_ERROR (Status)) {
- StrCpyS (
+ StrnCpyS (
mGaugeString,
DP_GAUGE_STRING_LENGTH + 1,
- StringPtr
+ StringPtr,
+ DP_GAUGE_STRING_LENGTH
);
return;
}
@@ -337,10 +338,11 @@ GetNameFromHandle (
//
// Method 3. Get the name string from FFS UI section
//
- StrCpyS (
+ StrnCpyS (
mGaugeString,
DP_GAUGE_STRING_LENGTH + 1,
- NameString
+ NameString,
+ DP_GAUGE_STRING_LENGTH
);
FreePool (NameString);
} else {
@@ -356,10 +358,11 @@ GetNameFromHandle (
//
NameString = ConvertDevicePathToText (LoadedImageDevicePath, TRUE, FALSE);
if (NameString != NULL) {
- StrCpyS (
+ StrnCpyS (
mGaugeString,
DP_GAUGE_STRING_LENGTH + 1,
- NameString
+ NameString,
+ DP_GAUGE_STRING_LENGTH
);
FreePool (NameString);
return;