ShellPkg: Refine code to use Strn**S safe functions instead of Str**S ones in some cases.
Safe string functions may ASSERT when the source length is larger than the MaxDest. This patch use Strn**S to indicate the copy length. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Tapan Shah <<tapandshah@hp.com>> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17894 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -261,7 +261,7 @@ GetNameFromHandle (
|
||||
);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
SHELL_FREE_NON_NULL (PlatformLanguage);
|
||||
StrCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, StringPtr);
|
||||
StrnCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, StringPtr, DP_GAUGE_STRING_LENGTH);
|
||||
mGaugeString[DP_GAUGE_STRING_LENGTH] = 0;
|
||||
return;
|
||||
}
|
||||
@@ -305,7 +305,7 @@ GetNameFromHandle (
|
||||
//
|
||||
// Method 3. Get the name string from FFS UI section
|
||||
//
|
||||
StrCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, NameString);
|
||||
StrnCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, NameString, DP_GAUGE_STRING_LENGTH);
|
||||
mGaugeString[DP_GAUGE_STRING_LENGTH] = 0;
|
||||
FreePool (NameString);
|
||||
} else {
|
||||
@@ -321,7 +321,7 @@ GetNameFromHandle (
|
||||
//
|
||||
NameString = ConvertDevicePathToText (LoadedImageDevicePath, TRUE, FALSE);
|
||||
if (NameString != NULL) {
|
||||
StrCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, NameString);
|
||||
StrnCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, NameString, DP_GAUGE_STRING_LENGTH);
|
||||
mGaugeString[DP_GAUGE_STRING_LENGTH] = 0;
|
||||
FreePool (NameString);
|
||||
return;
|
||||
@@ -334,7 +334,7 @@ GetNameFromHandle (
|
||||
//
|
||||
StringPtr = HiiGetString (gDpHiiHandle, STRING_TOKEN (STR_DP_ERROR_NAME), NULL);
|
||||
ASSERT (StringPtr != NULL);
|
||||
StrCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, StringPtr);
|
||||
StrnCpyS (mGaugeString, DP_GAUGE_STRING_LENGTH + 1, StringPtr, DP_GAUGE_STRING_LENGTH);
|
||||
FreePool (StringPtr);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user