|
* ふぁんくらぶ14 237 [#ibfb0313] -ページ: [[BugReport]] -投稿者: [[ryoji]] -優先順位: 低 -状態: 提案 -カテゴリー: -投稿日: 2011-04-04 (月) 21:15:33 -バージョン: ssrc-2-0-1-0.tar.gz ** メッセージ [#lace2e66] 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で育って勘違いしてる人がいると思われる。 昔、掲示板に書こうとしてエラーになったのでそれ以来書いてない。 どうせ開発者もココ見てるでしょ? ** 対処リスト [#ea403564] ''お手数ですが対処したら下の表の状態を更新してください.'' CENTER:''状態'':提案/着手/SVN待ち/完了/保留/却下 |''項番''|''内容''|''状態''|''対策Rev.''|''対策Rev.(ANSI版)''| |1|・charset\codeutil.h L141 if( nSrcLen > 2 && nSrcLen < 1 ){&br;決して真にならない条件 → |||完了|rev1905|非該当| |2|・macro\CSMacroMgr.cpp L711 *p++;&br;意味のない式 → p++;|完了|rev1905|r1932| |3|・mem\CMemory.cpp L220 p = (unsigned char*)pdwchar;&br;pdwcharが不定の場合あり|完了|rev1905|r1932| |4|・mem\CNativeA.h L68,69,70,71,76,77,79,80&br;mem\CNativeW.h L137,138,139,140,145,146,147,148,149,152,153,154,155,156&br;戻り値を返さない関数で戻り値を返すコード|却下|[[対策不要>http://ja.wikipedia.org/wiki/Return%E6%96%87]]|←| |5|・prop\CPropComHelper.cpp L125,149,198&br;コピー元のほうが大きい|提案||| |6|・types\CType.cpp L74 for(int i=0;i<_countof(table) && i <= MAX_TYPES;i++){&br;table定義サイズが小さいので問題ないが、2番目の条件は誤り|完了|rev1905|非該当| ---- - 「戻り値を返さないvoid型関数でreturn (void型になる式);」とするのはそのほうが適切な場合もあるし記述者の好みやコーディングスタイルの問題であって禁止すべきではない -- &new{2011-04-06 (水) 09:47:11}; #comment #attach |