Opened 14 years ago

Closed 13 years ago

Last modified 5 years ago

#5444 closed defect (fixed)

TINSEL: Code analysis warnings

Reported by: Templier Owned by: dreammaster
Priority: normal Component: Engine: Tinsel
Version: 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 by dreammaster, 14 years ago

Owner: set to dreammaster
Resolution: fixed
Status: newclosed

comment:2 by Templier, 13 years ago

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 by Templier, 13 years ago

Status: closednew

comment:4 by dreammaster, 13 years ago

Status: newclosed

comment:5 by digitall, 5 years ago

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