Opened 9 years ago

Closed 9 years ago

Last modified 12 months ago

#5437 closed defect (fixed)

M4: Code analysis warnings

Reported by: Templier Owned by: bluegr
Priority: normal Component: Engine: M4
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\m4\mads_logic.cpp(661): warning C6290: Bitwise operation on logical result: ! has higher precedence than &. Use && or (!(x & y)) instead
d:\sources\scummvm\scummvm\engines\m4\console.cpp(65): warning C6031: Return value ignored: 'sscanf'
d:\sources\scummvm\scummvm\engines\m4\converse.cpp(544): warning C6011: Dereferencing NULL pointer 'curEntry'
d:\sources\scummvm\scummvm\engines\m4\converse.cpp(582): warning C6011: Dereferencing NULL pointer 'parentEntry'
d:\sources\scummvm\scummvm\engines\m4\dialogs.cpp(301): warning C6011: Dereferencing NULL pointer 'srcP'

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/942f13a9f24b )
- 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: #3087845. Ticket imported from: bugs/5437.

Change History (5)

comment:1 by bluegr, 9 years ago

Fixed in rev #53500

comment:2 by bluegr, 9 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed

comment:3 by wjp, 9 years ago

Those changes to mads_logic.cpp seem to change behaviour. Comparing those opcodes with others, it seems the end result should be & 0xFFFF, not the input. (And the change you made to dialogs.cpp might be for a false positive; note the assert at the top of the function.)

comment:4 by bluegr, 9 years ago

Should be ok now, that part was a bit ambiguous...

comment:5 by digitall, 12 months ago

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