任务单 #39282

macOS版 コード分析対応

开放日期: 2019-06-02 01:08 最后更新: 2019-06-03 23:48

报告人:
属主:
类型:
状态:
关闭
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
Fixed
文件:

Details

Windows版のコード分析で抽出された問題を修正する。

参考チケット

  • #39229 Win版 コード分析対応

任务单历史 (3/5 Histories)

2019-06-02 01:08 Updated by: yknk
  • New Ticket "macOS版 コード分析対応" created
2019-06-02 01:08 Updated by: yknk
评论

対策 1:ローカル変数初期化漏れ

ローカル変数の初期化漏れが多数検出された。初期化漏れの事例は以下の通り。

float x, y, z = 0.0f;
この場合zは0.0fで初期化されるが、x,yは初期化されないままとなる。 以下のように、変数ごとに初期化しなければならない。
float x = 0.0f;
float y = 0.0f;
float z = 0.0f;
メソッド内でローカル変数に必ず値を設定しているため、動作上問題は発生しないが、 修正しておく。

初期化漏れを洗い出すために、以下の正規表現でgrepした。

,\s*[a-zA_Z0-9]+\s*=

2019-06-02 01:10 Updated by: yknk
评论

対策 1:ローカル変数初期化漏れ(続き)

grep結果は以下の通り。変数単位で初期化するように修正した。

MTDashboard.mm(250)[_GetCounterPos]: 	unsigned int cw, ch = 0;
MTDashboard.mm(251)[_GetCounterPos]: 	unsigned int tw, th = 0;
MTDashboardLive.mm(168)[_GetCounterPos]: 	unsigned int cw, ch = 0;
MTDashboardLive.mm(169)[_GetCounterPos]: 	unsigned int tw, th = 0;
MTGridBox.mm(390)[_CreateVertexOfPortSplitLine]: 	unsigned int i, j = 0;
MTNoteDesign.mm(206)[GetNoteBoxVirtexPos]: 	float bh, bw = 0.0f;
MTNoteDesign.mm(237)[GetActiveNoteBoxVirtexPos]: 	float bh, bw = 0.0f;
MTNoteDesign.mm(272)[GetNoteBoxVirtexPosLive]: 	float bh, bw = 0.0f;
MTNoteDesign.mm(301)[GetGridBoxVirtexPos]: 	float x, bh, bw = 0.0f;
MTNoteDesign.mm(336)[GetGridBoxVirtexPosLive]: 	float x, bh, bw = 0.0f;
MTNoteDesign.mm(568)[GetActiveNoteBoxColor]: 	float r,g,b,a = 0.0f;
MTNoteRipple.mm(372)[_SetVertexPosition]: 	float rh, rw = 0.0f;
MTPianoKeyboard.mm(1705)[_RotateKey]: 	float centerY, centerZ = 0.0f;
MTPianoKeyboardDesign.mm(653)[GetActiveKeyColor]: 	float r,g,b,a = 0.0f;
MTPianoKeyboardDesign.mm(911)[GetKeyboardBasePos]: 	float ox, oy, oz = 0.0f;

2019-06-02 01:10 Updated by: yknk
评论

対策 1:ローカル変数初期化漏れ(続き)

grep結果の続き。

MTScenePianoRoll3D.mm(496)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MTScenePianoRoll3D.mm(536)[GetViewParam]: 	float phi, theta = 0.0f;
MTScenePianoRoll3D.mm(767)[_LoadConfViewpoint]: 	float x, y, z = 0.0f;
MTScenePianoRoll3D.mm(768)[_LoadConfViewpoint]: 	float phi, theta = 0.0f;
MTScenePianoRoll3DLive.mm(474)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MTScenePianoRoll3DLive.mm(514)[GetViewParam]: 	float phi, theta = 0.0f;
MTScenePianoRoll3DLive.mm(732)[_LoadConfViewpoint]: 	float x, y, z = 0.0f;
MTScenePianoRoll3DLive.mm(733)[_LoadConfViewpoint]: 	float phi, theta = 0.0f;
MTScenePianoRollRain.mm(472)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MTScenePianoRollRain.mm(501)[GetViewParam]: 	float phi, theta = 0.0f;
MTScenePianoRollRain.mm(735)[_LoadConfViewpoint]: 	float x, y, z = 0.0f;
MTScenePianoRollRain.mm(736)[_LoadConfViewpoint]: 	float phi, theta = 0.0f;
MTScenePianoRollRain2D.mm(65)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MTScenePianoRollRain2DLive.mm(65)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MTScenePianoRollRainLive.mm(447)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MTScenePianoRollRainLive.mm(476)[GetViewParam]: 	float phi, theta = 0.0f;
MTScenePianoRollRainLive.mm(697)[_LoadConfViewpoint]: 	float x, y, z = 0.0f;
MTScenePianoRollRainLive.mm(698)[_LoadConfViewpoint]: 	float phi, theta = 0.0f;
MTStars.mm(152)[_CreateVertexOfStars]: 	float x, y, z = 0.0f;
MTStars.mm(153)[_CreateVertexOfStars]: 	float cr, cg, cb = 0.0f;

2019-06-03 23:48 Updated by: yknk
  • 处理结果 Update from to Fixed
  • 状态 Update from 开启 to 关闭

Attachment File List

No attachments

编辑

Please login to add comment to this ticket » 登录名