diff options
author | Hao Wu <hao.a.wu@intel.com> | 2015-07-13 01:24:44 +0000 |
---|---|---|
committer | hwu1225 <hwu1225@Edk2> | 2015-07-13 01:24:44 +0000 |
commit | 6bc4e42f9d043bcda03f03a74e6dec0aa5c0ead1 (patch) | |
tree | ee069945a131dfccef7fd7db1e97f17b179d0b9d | |
parent | c1fd37cd6bcb98143bd4a44f427735a748058ad8 (diff) | |
download | edk2-6bc4e42f9d043bcda03f03a74e6dec0aa5c0ead1.tar.gz edk2-6bc4e42f9d043bcda03f03a74e6dec0aa5c0ead1.tar.bz2 edk2-6bc4e42f9d043bcda03f03a74e6dec0aa5c0ead1.zip |
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
-rw-r--r-- | PerformancePkg/Dp_App/DpUtilities.c | 15 |
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;
|