https://bugzilla.tianocore.org/show_bug.cgi?id=190
The issue is with signed/unsigned comparisons between
Mode->CursorRow and Row and Mode->CursorColumn and Column.
The fix is to add typecast to UINTN for comparisons.
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Brian Johnson <bjohnson@sgi.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Brian Johnson <bjohnson@sgi.com>
// it isn't necessary.\r
//\r
if (TerminalDevice->TerminalType == TTYTERMTYPE &&\r
// it isn't necessary.\r
//\r
if (TerminalDevice->TerminalType == TTYTERMTYPE &&\r
- Mode->CursorRow == Row) {\r
- if (Mode->CursorColumn > Column) {\r
+ (UINTN)Mode->CursorRow == Row) {\r
+ if ((UINTN)Mode->CursorColumn > Column) {\r
mCursorBackwardString[FW_BACK_OFFSET + 0] = (CHAR16) ('0' + ((Mode->CursorColumn - Column) / 10));\r
mCursorBackwardString[FW_BACK_OFFSET + 1] = (CHAR16) ('0' + ((Mode->CursorColumn - Column) % 10));\r
String = mCursorBackwardString;\r
}\r
mCursorBackwardString[FW_BACK_OFFSET + 0] = (CHAR16) ('0' + ((Mode->CursorColumn - Column) / 10));\r
mCursorBackwardString[FW_BACK_OFFSET + 1] = (CHAR16) ('0' + ((Mode->CursorColumn - Column) % 10));\r
String = mCursorBackwardString;\r
}\r
- else if (Column > Mode->CursorColumn) {\r
+ else if (Column > (UINTN)Mode->CursorColumn) {\r
mCursorForwardString[FW_BACK_OFFSET + 0] = (CHAR16) ('0' + ((Column - Mode->CursorColumn) / 10));\r
mCursorForwardString[FW_BACK_OFFSET + 1] = (CHAR16) ('0' + ((Column - Mode->CursorColumn) % 10));\r
String = mCursorForwardString;\r
mCursorForwardString[FW_BACK_OFFSET + 0] = (CHAR16) ('0' + ((Column - Mode->CursorColumn) / 10));\r
mCursorForwardString[FW_BACK_OFFSET + 1] = (CHAR16) ('0' + ((Column - Mode->CursorColumn) % 10));\r
String = mCursorForwardString;\r