http://sakura.qp.land.to/?BugReport%2F74
|
ふぁんくらぶ14 237
メッセージ237 :名無しさん@お腹いっぱい。:2011/04/04(月) 20:02:46.97 ID:3xroZ0rf0 ・charset\codeutil.h L141 if( nSrcLen > 2 && nSrcLen < 1 ){ 決して真にならない条件 → || ※この手のバグが非常に多い ・macro\CSMacroMgr.cpp L711 *p++; 意味のない式 → p++; ・mem\CMemory.cpp L220 p = (unsigned char*)pdwchar; pdwcharが不定の場合あり ・mem\CNativeA.h L68,69,70,71,76,77,79,80 mem\CNativeW.h L137,138,139,140,145,146,147,148,149,152,153,154,155,156 戻り値を返さない関数で戻り値を返すコード ・prop\CPropComHelper.cpp L125,149,198 コピー元のほうが大きい ※コピー先:MAX_PATH, コピー元:MAX_PATH+1 パスの最後に¥を付けたいので+1しているところがあるが、結果を格納する先が+1してないのでダメ パスにファイル名をつなげてフルパスにすることを考えれば、MAX_PATH+1しても意味がないことはわかるはず ※この手のバグが非常に多い ・types\CType.cpp L74 for(int i=0;i<_countof(table) && i <= MAX_TYPES;i++){ table定義サイズが小さいので問題ないが、2番目の条件は誤り ※この手のバグが非常に多い ※C++の配列の添え字は宣言したサイズ-1までです。 × int a[5]; for(int i = 0; i <= 5; i++){ a[i] = i; } ○ int a[5]; for(int i = 0; i < 5; i++){ a[i] = i; } サクラのソースでは宣言したサイズまでをループさせてるところがあり1個オーバーしてメモリ破壊する。 開発者の中にVBで育って勘違いしてる人がいると思われる。 昔、掲示板に書こうとしてエラーになったのでそれ以来書いてない。 どうせ開発者もココ見てるでしょ? 対処リストお手数ですが対処したら下の表の状態を更新してください. 状態:提案/着手/SVN待ち/完了/保留/却下
|