Opened 9 years ago

Closed 8 years ago

Last modified 7 months ago

#5444 closed defect (fixed)

TINSEL: Code analysis warnings

Reported by: Templier Owned by: dreammaster
Priority: normal Component: Engine: Tinsel
Keywords: build Cc:
Game:

Description

Here are the warnings I get when compiling the engine using Code Analysis in VS2010. I tried to remove all the obvious false positives. Some warnings look suspicious, others are pointing to correct code that still might benefit from better error checking.

d:\sources\scummvm\scummvm\engines\tinsel\polygons.cpp(1877): warning C6011: Dereferencing NULL pointer 'Polys[i]'
d:\sources\scummvm\scummvm\engines\tinsel\rince.cpp(364): warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead?
d:\sources\scummvm\scummvm\engines\tinsel\debugger.cpp(60): warning C6031: Return value ignored: 'sscanf'
d:\sources\scummvm\scummvm\engines\tinsel\graphics.cpp(69): warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent
d:\sources\scummvm\scummvm\engines\tinsel\graphics.cpp(70): warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent
d:\sources\scummvm\scummvm\engines\tinsel\graphics.cpp(300): warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent
d:\sources\scummvm\scummvm\engines\tinsel\graphics.cpp(300): warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent

Note:
If you want to try it yourself, you will need:
- the create_project patch set, along with the WIP code analysis patch (http://bitbucket.org/Littleboy/scummvm-jt/src)
- the following patch to silence some false positives ( http://bitbucket.org/Littleboy/scummvm-jt/src/tip/COMMON%20-%20Add%20annotations%20for%20analysis%20build%20configuration.patch )
- Visual Studio 2010 Ultimate or Team System (create_project support for analysis with VS2005/2008 isn't complete yet)

Ticket imported from: #3087863. Ticket imported from: bugs/5444.

Change History (5)

comment:1 Changed 9 years ago by dreammaster

Owner: set to dreammaster
Resolution: fixed
Status: newclosed

comment:2 Changed 8 years ago by Templier

Here are the results of the latest analysis build:

d:\sources\scummvm\scummvm-jt\engines\tinsel\adpcm.cpp(47): warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value
d:\sources\scummvm\scummvm-jt\engines\tinsel\adpcm.cpp(54): warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value

C2697: http://msdn.microsoft.com/en-us/library/9t02bbsx.aspx

comment:3 Changed 8 years ago by Templier

Status: closednew

comment:4 Changed 8 years ago by dreammaster

Status: newclosed

comment:5 Changed 7 months ago by digitall

Component: Engine: Tinsel
Note: See TracTickets for help on using tickets.