svnno****@sourc*****
svnno****@sourc*****
2017年 6月 9日 (金) 19:04:27 JST
Revision: 6783 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6783 Author: doda Date: 2017-06-09 19:04:27 +0900 (Fri, 09 Jun 2017) Log Message: ----------- LoadTTSET() が失敗した時に abort() するようにした。 以下の理由で VT ウィンドウが表示される前に無限ループとなるのを防ぐ為。 LoadTTSET() が失敗 ⇒ 設定が読み込まれない ⇒ ts.TerminalWidth, ts.TerminalHeight が 0 となる ⇒ buffer.c:InitBuffer() で NumOfColumns, NumOfLines が 0 となる ⇒ buffer.c:ChangeBuffer() で BufferSize が 0 となる ⇒ buffer.c:GetLinePtr() の以下のループが無限ループとなる while (Ptr>=BufferSize) { Ptr = Ptr - BufferSize; } 本来ならば buffer.c の中で NumOfColumns, NumOfLines, BufferSize が 0 になるのを防ぐべきなんだろうけれど、ttpset.dll が読み込めない時点で まともに動くのが期待できないので abort() しておく。 Modified Paths: -------------- trunk/teraterm/teraterm/vtwin.cpp -------------- next part -------------- Modified: trunk/teraterm/teraterm/vtwin.cpp =================================================================== --- trunk/teraterm/teraterm/vtwin.cpp 2017-06-09 10:04:23 UTC (rev 6782) +++ trunk/teraterm/teraterm/vtwin.cpp 2017-06-09 10:04:27 UTC (rev 6783) @@ -688,6 +688,9 @@ if (tempkm!=NULL) free(tempkm); #endif } + else { + abort(); + } } else { // 2\x82߈ȍ~\x82̃v\x83\x8D\x83Z\x83X\x82ɂ\xA8\x82\xA2\x82Ă\xE0\x81A\x83f\x83B\x83X\x83N\x82\xA9\x82\xE7 TERATERM.INI \x82\xF0\x93ǂށB(2004.11.4 yutaka) @@ -712,7 +715,9 @@ } #endif } - + else { + abort(); + } } /* Parse command line parameters*/