pointer verification (not NULL) and buffer overrun fixes.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11459 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jcarsey
2011-03-30 19:33:03 +00:00
parent 6b825919f1
commit 33c031ee20
21 changed files with 338 additions and 185 deletions

View File

@ -310,7 +310,9 @@ ConvertStringToGuid (
TempCopy = StrnCatGrow(&TempCopy, NULL, StringGuid, 0);
Walker = TempCopy;
TempSpot = StrStr(Walker, L"-");
*TempSpot = CHAR_NULL;
if (TempSpot != NULL) {
*TempSpot = CHAR_NULL;
}
Status = ShellConvertStringToUint64(Walker, &TempVal, TRUE, FALSE);
if (EFI_ERROR(Status)) {
FreePool(TempCopy);
@ -319,7 +321,9 @@ ConvertStringToGuid (
Guid->Data1 = (UINT32)TempVal;
Walker += 9;
TempSpot = StrStr(Walker, L"-");
*TempSpot = CHAR_NULL;
if (TempSpot != NULL) {
*TempSpot = CHAR_NULL;
}
Status = ShellConvertStringToUint64(Walker, &TempVal, TRUE, FALSE);
if (EFI_ERROR(Status)) {
FreePool(TempCopy);
@ -328,7 +332,9 @@ ConvertStringToGuid (
Guid->Data2 = (UINT16)TempVal;
Walker += 5;
TempSpot = StrStr(Walker, L"-");
*TempSpot = CHAR_NULL;
if (TempSpot != NULL) {
*TempSpot = CHAR_NULL;
}
Status = ShellConvertStringToUint64(Walker, &TempVal, TRUE, FALSE);
if (EFI_ERROR(Status)) {
FreePool(TempCopy);