[Ttssh2-commit] [6783] LoadTTSET() が失敗した時に abort () するようにした。

Zurück zum Archiv-Index

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*/



Ttssh2-commit メーリングリストの案内
Zurück zum Archiv-Index