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:
@@ -637,7 +637,7 @@ HBufferImageRestoreMousePosition (
|
||||
CurrentLine = HBufferImage.CurrentLine;
|
||||
Line = HMoveLine (FRow - HBufferImage.BufferPosition.Row);
|
||||
|
||||
if (FColumn > Line->Size) {
|
||||
if (Line == NULL || FColumn > Line->Size) {
|
||||
HasCharacter = FALSE;
|
||||
}
|
||||
|
||||
@@ -1620,7 +1620,7 @@ Returns:
|
||||
//
|
||||
HBufferImage.BufferPosition.Row = NewFilePosRow;
|
||||
if (RowGap <= 0) {
|
||||
Abs = -RowGap;
|
||||
Abs = (UINTN)ABS(RowGap);
|
||||
HBufferImage.DisplayPosition.Row -= Abs;
|
||||
} else {
|
||||
HBufferImage.DisplayPosition.Row += RowGap;
|
||||
@@ -1931,7 +1931,7 @@ Returns:
|
||||
//
|
||||
// if that line, is not that long, so move to the end of that line
|
||||
//
|
||||
if (FCol > Line->Size) {
|
||||
if (Line != NULL && FCol > Line->Size) {
|
||||
FCol = Line->Size + 1;
|
||||
HighBits = TRUE;
|
||||
}
|
||||
|
@@ -383,7 +383,7 @@ Returns:
|
||||
//
|
||||
// if is the old file
|
||||
//
|
||||
if (StrCmp (FileName, HFileImage.FileName) == 0) {
|
||||
if (HFileImage.FileName != NULL && FileName != NULL && StrCmp (FileName, HFileImage.FileName) == 0) {
|
||||
//
|
||||
// check whether file exists on disk
|
||||
//
|
||||
|
@@ -110,7 +110,7 @@ ShellCommandRunHexEdit (
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else {
|
||||
Name = ShellCommandLineGetRawValue(Package, 1);
|
||||
if (!IsValidFileName(Name)) {
|
||||
if (Name == NULL || !IsValidFileName(Name)) {
|
||||
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDebug1HiiHandle, Name);
|
||||
ShellStatus = SHELL_INVALID_PARAMETER;
|
||||
} else {
|
||||
|
@@ -256,10 +256,10 @@ Returns:
|
||||
// do not set currentline to Line
|
||||
//
|
||||
if (Count <= 0) {
|
||||
AbsCount = -Count;
|
||||
AbsCount = (UINTN)ABS(Count);
|
||||
Line = _HLineRetreat (AbsCount);
|
||||
} else {
|
||||
Line = _HLineAdvance (Count);
|
||||
Line = _HLineAdvance ((UINTN)Count);
|
||||
}
|
||||
|
||||
return Line;
|
||||
@@ -297,10 +297,10 @@ Returns:
|
||||
// >0: advance
|
||||
//
|
||||
if (Count <= 0) {
|
||||
AbsCount = -Count;
|
||||
AbsCount = (UINTN)ABS(Count);
|
||||
Line = _HLineRetreat (AbsCount);
|
||||
} else {
|
||||
Line = _HLineAdvance (Count);
|
||||
Line = _HLineAdvance ((UINTN)Count);
|
||||
}
|
||||
|
||||
if (Line == NULL) {
|
||||
@@ -399,7 +399,10 @@ Returns:
|
||||
Lenp = StrLen (Pat);
|
||||
Lens = StrLen (Str);
|
||||
|
||||
Failure = AllocateZeroPool (Lenp * sizeof (INTN));
|
||||
Failure = AllocateZeroPool ((UINTN)(Lenp * sizeof (INTN)));
|
||||
if (Failure == NULL) {
|
||||
return 0;
|
||||
}
|
||||
Failure[0] = -1;
|
||||
for (j = 1; j < Lenp; j++) {
|
||||
i = Failure[j - 1];
|
||||
|
Reference in New Issue
Block a user