[ scummvm-Bugs-3087898 ] SCUMM: Code analysis warnings

SourceForge.net noreply at sourceforge.net
Fri Oct 15 08:21:13 CEST 2010


Bugs item #3087898, was opened at 2010-10-15 02:21
Message generated for change (Tracker Item Submitted) made by littleboy
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418820&aid=3087898&group_id=37116

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Compiler error
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Julien (littleboy)
Assigned to: Nobody/Anonymous (nobody)
Summary: SCUMM: Code analysis warnings

Initial Comment:
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\scumm\script_v5.cpp(1851): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'ptr', which is passed as an argument to 'realloc', will cause the original memory block to be leaked
d:\sources\scummvm\scummvm\engines\scumm\script_v5.cpp(1853): warning C6011: Dereferencing NULL pointer 'ptr'
d:\sources\scummvm\scummvm\engines\scumm\scumm.cpp(139): warning C6031: Return value ignored: 'sscanf'
d:\sources\scummvm\scummvm\engines\scumm\sound.cpp(1749): warning C6326: Potential comparison of a constant with another constant
d:\sources\scummvm\scummvm\engines\scumm\object.cpp(1001): warning C6011: Dereferencing NULL pointer 'imhd'
d:\sources\scummvm\scummvm\engines\scumm\palette.cpp(501): warning C6290: Bitwise operation on logical result: ! has higher precedence than &. Use && or (!(x & y)) instead
d:\sources\scummvm\scummvm\engines\scumm\palette.cpp(547): warning C6290: Bitwise operation on logical result: ! has higher precedence than &. Use && or (!(x & y)) instead
d:\sources\scummvm\scummvm\engines\scumm\smush\smush_player.cpp(101): warning C6011: Dereferencing NULL pointer 'id_start-1'
d:\sources\scummvm\scummvm\engines\scumm\debugger.cpp(90): warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>. Did you intend to use the bitwise-and operator?
d:\sources\scummvm\scummvm\engines\scumm\insane\insane.cpp(949): warning C6200: Index '43' is out of valid index range '0' to '10' for non-stack buffer 'int const * const `private: bool __thiscall Scumm::Insane::actor1StateFlags(int)'::`2'::spans'
d:\sources\scummvm\scummvm\engines\scumm\insane\insane.cpp(1104): warning C6200: Index '35' is out of valid index range '0' to '8' for non-stack buffer 'int const * const `private: bool __thiscall Scumm::Insane::actor0StateFlags1(int)'::`2'::spans'
d:\sources\scummvm\scummvm\engines\scumm\insane\insane.cpp(1124): warning C6200: Index '403' is out of valid index range '0' to '100' for non-stack buffer 'int const * const `private: bool __thiscall Scumm::Insane::actor0StateFlags2(int)'::`2'::spans'
d:\sources\scummvm\scummvm\engines\scumm\insane\insane_enemy.cpp(1331): warning C6287: Redundant code: the left and right sub-expressions are identical
d:\sources\scummvm\scummvm\engines\scumm\smush\codec47.cpp(305): warning C6200: Index '511' is out of valid index range '0' to '509' for non-stack buffer 'codec47_table'
d:\sources\scummvm\scummvm\engines\scumm\smush\codec47.cpp(305): warning C6200: Index '510' is out of valid index range '0' to '509' for non-stack buffer 'codec47_table'
d:\sources\scummvm\scummvm\engines\scumm\he\floodfill_he.cpp(278): warning C6011: Dereferencing NULL pointer 'wizd+py*w+px'
d:\sources\scummvm\scummvm\engines\scumm\he\resource_he.cpp(285): warning C6011: Dereferencing NULL pointer 'lang_wr'
d:\sources\scummvm\scummvm\engines\scumm\he\resource_he.cpp(699): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'fi->memory', which is passed as an argument to 'realloc', will cause the original memory block to be leaked

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)


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418820&aid=3087898&group_id=37116




More information about the Scummvm-tracker mailing list