Opened 10 years ago

Closed 10 years ago

Last modified 2 years ago

#5437 closed defect (fixed)

M4: Code analysis warnings

Reported by: Templier Owned by: bluegr
Priority: normal Component: Engine: M4
Keywords: build Cc:


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 ( ) - the following patch to silence some false positives ( ) - 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, 10 years ago

Fixed in rev #53500

comment:2 by bluegr, 10 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed

comment:3 by wjp, 10 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, 10 years ago

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

comment:5 by digitall, 2 years ago

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