diff options
author | rubidium <rubidium@openttd.org> | 2008-09-24 23:25:24 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2008-09-24 23:25:24 +0000 |
commit | 86f1a98ac846d82e09918f2a7f843160eaaad886 (patch) | |
tree | 55ef97f884a427b5807de2b489c5f2659cf4caa0 | |
parent | b907ffec97d4080935ce975b42d9f8475f7c5509 (diff) | |
download | openttd-86f1a98ac846d82e09918f2a7f843160eaaad886.tar.xz |
(svn r14397) -Fix: possible buffer overrun, wrong parameter type passed to printf and && where || is meant. Found by MSVC's code analysis (Darkvater)
-rw-r--r-- | src/train_cmd.cpp | 2 | ||||
-rw-r--r-- | src/video/win32_v.cpp | 2 | ||||
-rw-r--r-- | src/win32.cpp | 8 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 7a21aa82f..7fcccb42c 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -2747,7 +2747,7 @@ static PBSTileInfo ExtendTrainReservation(const Vehicle *v, TrackBits *new_track if (!TryReserveRailTrack(tile, TrackdirToTrack(cur_td))) break; } - if (ft.m_err == CFollowTrackRail::EC_OWNER && ft.m_err == CFollowTrackRail::EC_NO_WAY) { + if (ft.m_err == CFollowTrackRail::EC_OWNER || ft.m_err == CFollowTrackRail::EC_NO_WAY) { /* End of line, path valid and okay. */ return PBSTileInfo(ft.m_old_tile, ft.m_old_td, true); } diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp index 2bbb96c63..9016c93e8 100644 --- a/src/video/win32_v.cpp +++ b/src/video/win32_v.cpp @@ -289,7 +289,7 @@ static bool MakeWindow(bool full_screen) } else { TCHAR Windowtitle[50]; - _sntprintf(Windowtitle, sizeof(Windowtitle), _T("OpenTTD %s"), MB_TO_WIDE(_openttd_revision)); + _sntprintf(Windowtitle, lengthof(Windowtitle), _T("OpenTTD %s"), MB_TO_WIDE(_openttd_revision)); _wnd.main_wnd = CreateWindow(_T("OTTD"), Windowtitle, style, x, y, w, h, 0, 0, GetModuleHandle(NULL), 0); if (_wnd.main_wnd == NULL) usererror("CreateWindow failed"); diff --git a/src/win32.cpp b/src/win32.cpp index 9ee8c3000..acdaab87d 100644 --- a/src/win32.cpp +++ b/src/win32.cpp @@ -530,7 +530,7 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep) ep->ContextRecord->EFlags ); #else - output += sprintf(output, "Exception %.8X at %.8X\r\n" + output += sprintf(output, "Exception %.8X at %.8p\r\n" "Registers:\r\n" " EAX: %.8X EBX: %.8X ECX: %.8X EDX: %.8X\r\n" " ESI: %.8X EDI: %.8X EBP: %.8X ESP: %.8X\r\n" @@ -596,9 +596,9 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep) output = PrintModuleList(output); { - OSVERSIONINFO os; + _OSVERSIONINFOA os; os.dwOSVersionInfoSize = sizeof(os); - GetVersionEx(&os); + GetVersionExA(&os); output += sprintf(output, "\r\nSystem information:\r\n" " Windows version %d.%d %d %s\r\n\r\n", os.dwMajorVersion, os.dwMinorVersion, os.dwBuildNumber, os.szCSDVersion); @@ -804,7 +804,7 @@ void FiosGetDrives() TCHAR drives[256]; const TCHAR *s; - GetLogicalDriveStrings(sizeof(drives), drives); + GetLogicalDriveStrings(lengthof(drives), drives); for (s = drives; *s != '\0';) { FiosItem *fios = _fios_items.Append(); fios->type = FIOS_TYPE_DRIVE; |