BugReport/74 のバックアップ(No.6)




ふぁんくらぶ14 237

  • ページ: BugReport
  • 投稿者: ryoji
  • 優先順位: 低
  • 状態: 提案
  • カテゴリー:
  • 投稿日: 2011-04-04 (月) 21:15:33
  • バージョン: ssrc-2-0-1-0.tar.gz

メッセージ

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待ち/完了/保留/却下
項番内容状態対策Rev.
1・charset\codeutil.h L141 if( nSrcLen > 2 && nSrcLen < 1 ){
決して真にならない条件 → ||
完了rev1905
2・macro\CSMacroMgr.cpp L711 *p++;
意味のない式 → p++;
完了rev1905
3・mem\CMemory.cpp L220 p = (unsigned char*)pdwchar;
pdwcharが不定の場合あり
完了rev1905
4・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
戻り値を返さない関数で戻り値を返すコード
却下対策不要
5・prop\CPropComHelper.cpp L125,149,198
コピー元のほうが大きい
提案
6・types\CType.cpp L74 for(int i=0;i<_countof(table) && i <= MAX_TYPES;i++){
table定義サイズが小さいので問題ないが、2番目の条件は誤り
完了rev1905

  • 「戻り値を返さないvoid型関数でreturn (void型になる式);」とするのはそのほうが適切な場合もあるし記述者の好みやコーディングスタイルの問題であって禁止すべきではない -- 2011-04-06 (水) 09:47:11

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White
[添付ファイル一覧] [全ページの添付ファイル一覧]
アップロード可能最大ファイルサイズは 2,048KB です。

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS