Ticket #39806

iOS版 コード分析対応

Open Date: 2019-11-28 01:23 Last Update: 2019-11-30 11:54

Reporter:
Owner:
Type:
Status:
Closed
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None

Details

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

参考チケット

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

Ticket History (3/5 Histories)

2019-11-28 01:23 Updated by: yknk
  • New Ticket "iOS版 コード分析対応" created
2019-11-30 11:53 Updated by: yknk
Comment

対策 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-11-30 11:53 Updated by: yknk
Comment

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

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

MIDITrail/MTDashboard.mm(301)[_GetCounterPos]: 	unsigned int cw, ch = 0;
MIDITrail/MTDashboard.mm(302)[_GetCounterPos]: 	unsigned int tw, th = 0;
MIDITrail/MTDashboard.mm(355)[_GetCounterFPSPos]: 	unsigned int cw, ch = 0;
MIDITrail/MTDashboard.mm(356)[_GetCounterFPSPos]: 	unsigned int tw, th = 0;
MIDITrail/MTDashboardLive.mm(205)[_GetCounterPos]: 	unsigned int cw, ch = 0;
MIDITrail/MTDashboardLive.mm(206)[_GetCounterPos]: 	unsigned int tw, th = 0;
MIDITrail/MTDashboardLive.mm(259)[_GetCounterFPSPos]: 	unsigned int cw, ch = 0;
MIDITrail/MTDashboardLive.mm(260)[_GetCounterFPSPos]: 	unsigned int tw, th = 0;
MIDITrail/MTGridBox.mm(390)[_CreateVertexOfPortSplitLine]: 	unsigned int i, j = 0;
MIDITrail/MTNoteDesign.mm(211)[GetNoteBoxVirtexPos]: 	float bh, bw = 0.0f;
MIDITrail/MTNoteDesign.mm(242)[GetActiveNoteBoxVirtexPos]: 	float bh, bw = 0.0f;
MIDITrail/MTNoteDesign.mm(277)[GetNoteBoxVirtexPosLive]: 	float bh, bw = 0.0f;
MIDITrail/MTNoteDesign.mm(306)[GetGridBoxVirtexPos]: 	float x, bh, bw = 0.0f;
MIDITrail/MTNoteDesign.mm(341)[GetGridBoxVirtexPosLive]: 	float x, bh, bw = 0.0f;
MIDITrail/MTNoteDesign.mm(566)[GetActiveNoteBoxColor]: 	float r,g,b,a = 0.0f;
MIDITrail/MTNoteRipple.mm(372)[_SetVertexPosition]: 	float rh, rw = 0.0f;
MIDITrail/MTPianoKeyboard.mm(1678)[_RotateKey]: 	float centerY, centerZ = 0.0f;
MIDITrail/MTPianoKeyboardDesign.mm(612)[GetActiveKeyColor]: 	float r,g,b,a = 0.0f;
MIDITrail/MTPianoKeyboardDesign.mm(871)[GetKeyboardBasePos]: 	float ox, oy, oz = 0.0f;

2019-11-30 11:54 Updated by: yknk
Comment

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

grep結果の続き。

MIDITrail/MTScenePianoRoll3D.mm(550)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRoll3D.mm(590)[GetViewParam]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRoll3D.mm(904)[_LoadConfViewpoint]: 	float x, y, z = 0.0f;
MIDITrail/MTScenePianoRoll3D.mm(905)[_LoadConfViewpoint]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRoll3DLive.mm(528)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRoll3DLive.mm(568)[GetViewParam]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRoll3DLive.mm(872)[_LoadConfViewpoint]: 	float x, y, z = 0.0f;
MIDITrail/MTScenePianoRoll3DLive.mm(873)[_LoadConfViewpoint]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRollRain.mm(515)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRollRain.mm(544)[GetViewParam]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRollRain.mm(861)[_LoadConfViewpoint]: 	float x, y, z = 0.0f;
MIDITrail/MTScenePianoRollRain.mm(862)[_LoadConfViewpoint]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRollRain2D.mm(65)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRollRain2DLive.mm(65)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRollRainLive.mm(491)[GetDefaultViewParam]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRollRainLive.mm(520)[GetViewParam]: 	float phi, theta = 0.0f;
MIDITrail/MTScenePianoRollRainLive.mm(827)[_LoadConfViewpoint]: 	float x, y, z = 0.0f;
MIDITrail/MTScenePianoRollRainLive.mm(828)[_LoadConfViewpoint]: 	float phi, theta = 0.0f;
MIDITrail/MTStars.mm(159)[_CreateVertexOfStars]: 	float x, y, z = 0.0f;
MIDITrail/MTStars.mm(160)[_CreateVertexOfStars]: 	float cr, cg, cb = 0.0f;

2019-11-30 11:54 Updated by: yknk
  • Resolution Update from None to Fixed
  • Status Update from Open to Closed

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login