PVS-Studio Analysis Results


Date:08/10/22 18:30:25
PVS-Studio Version:7.19.61166.3606
Total Warnings (GA):513
Group Projects Location Level Code Message
General Analysis

OpenXcom

SDL_config_win32.h:45 Medium V677 Custom declaration of a standard 'uintptr_t' type. The system header file should be used: #include <STDDEF.H>.
General Analysis

OpenXcom

impl.h:83 Medium V547 Expression is always false.
General Analysis

OpenXcom

impl.h:107 Medium V547 Expression is always false.
General Analysis

OpenXcom

impl.h:416 Low V659 Declarations of functions with 'Node::operator []' name differ in the 'const' keyword only, but the bodies of these functions have different composition. This is suspicious and can possibly be an error. Check lines: 402, 416.
General Analysis

OpenXcom

BaseInfoState.h:27 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

BasescapeState.cpp:164 Medium V560 A part of conditional expression is always true: !exists.
General Analysis

OpenXcom

BaseView.cpp:229 High V781 The value of the '_gridY' index is checked after it was used. Perhaps there is a mistake in program logic.
General Analysis

OpenXcom

BaseView.cpp:250 High V781 The value of the '_gridY' index is checked after it was used. Perhaps there is a mistake in program logic.
General Analysis

OpenXcom

BuildFacilitiesState.cpp:80 High V1053 Calling the 'PopulateBuildList' virtual function in the constructor may lead to unexpected result at runtime.
General Analysis

OpenXcom

CraftArmorState.cpp:54 Low V525 The code contains the collection of similar blocks. Check items '17', '9', '9', '9' in lines 54, 55, 56, 57.
General Analysis

OpenXcom

CraftEquipmentState.cpp:627 Medium V1002 The 'BattlescapeGenerator' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

CraftInfoState.h:30 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

MiniBaseView.cpp:102 Low V525 The code contains the collection of similar blocks. Check items '0', 'MINI_SIZE + 2', 'MINI_SIZE + 2' in lines 102, 103, 104.
General Analysis

OpenXcom

PlaceLiftState.cpp:42 Medium V1077 The 'PlaceLiftState' constructor contains potentially uninitialized members. Inspect the following: _lift.
General Analysis

OpenXcom

ResearchInfoState.cpp:164 Medium V773 The '_project' pointer was not released in destructor. A memory leak is possible.
General Analysis

OpenXcom

SelectStartFacilityState.cpp:52 High V1053 Calling the 'populateBuildList' virtual function in the constructor may lead to unexpected result at runtime.
General Analysis

OpenXcom

SellState.cpp:628 Low V636 The 'dir * change' expression was implicitly cast from 'int' type to 'double' type. Consider utilizing an explicit type cast to avoid overflow. An example: double A = (double)(X) * Y;.
General Analysis

OpenXcom

SoldierDiaryMissionState.cpp:103 High V1053 Calling the 'init' virtual function in the constructor may lead to unexpected result at runtime.
General Analysis

OpenXcom

SoldierDiaryMissionState.cpp:48 Low V525 The code contains the collection of similar blocks. Check items '16', '14', '14' in lines 48, 49, 50.
General Analysis

OpenXcom

SoldierDiaryOverviewState.cpp:147 High V1053 Calling the 'init' virtual function in the constructor may lead to unexpected result at runtime.
General Analysis

OpenXcom

SoldierDiaryPerformanceState.cpp:187 High V1053 Calling the 'init' virtual function in the constructor may lead to unexpected result at runtime.
General Analysis

OpenXcom

SoldierDiaryPerformanceState.cpp:71 Low V525 The code contains the collection of similar blocks. Check items '18', '18', '32' in lines 71, 72, 73.
General Analysis

OpenXcom

SoldierInfoState.cpp:586 Medium V728 An excessive check can be simplified. The '||' operator is surrounded by opposite expressions '!_soldier->getCraft()' and '_soldier->getCraft()'.
General Analysis

OpenXcom

SoldierInfoState.h:28 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

SoldiersState.cpp:60 Low V525 The code contains the collection of similar blocks. Check items '17', '9', '9', '9' in lines 60, 61, 62, 63.
General Analysis

OpenXcom

TransferBaseState.cpp:49 Low V525 The code contains the collection of similar blocks. Check items '17', '9', '17', '17' in lines 49, 50, 51, 52.
General Analysis

OpenXcom

TransferConfirmState.cpp:49 Low V525 The code contains the collection of similar blocks. Check items '75', '95', '95' in lines 49, 50, 51.
General Analysis

OpenXcom

TransferItemsState.cpp:617 Low V522 There might be dereferencing of a potential null pointer 'craft'.
General Analysis

OpenXcom

TransferItemsState.cpp:624 Low V522 There might be dereferencing of a potential null pointer 'selItem'.
General Analysis

OpenXcom

ActionMenuState.cpp:341 Low V669 The 'dX', 'dY' arguments are non-constant references. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error.
General Analysis

OpenXcom

AIModule.cpp:478 Low V1048 The 'scout' variable was assigned the same value.
General Analysis

OpenXcom

AIModule.cpp:503 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(Position(i, j, 1))'.
General Analysis

OpenXcom

AIModule.cpp:657 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(_ambushAction->target)'.
General Analysis

OpenXcom

AIModule.cpp:952 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(_escapeAction->target)'.
General Analysis

OpenXcom

AIModule.cpp:1162 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(checkPath)'.
General Analysis

OpenXcom

AIModule.cpp:1521 Low V522 There might be dereferencing of a potential null pointer 'targetTile'.
General Analysis

OpenXcom

AIModule.cpp:1726 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(CurrentPosition)'.
General Analysis

OpenXcom

AIModule.cpp:1848 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(action.target)'.
General Analysis

OpenXcom

BattlescapeGame.cpp:1381 Medium V560 A part of conditional expression is always true: !_states.empty().
General Analysis

OpenXcom

BattlescapeGame.cpp:1846 Medium V560 A part of conditional expression is always true: !ammoFound.
General Analysis

OpenXcom

BattlescapeGame.cpp:555 Low V691 Empirical analysis. It is possible that a typo is present inside the string literal: "STR_WEAPON_UNKNOWN". The 'Weapon' word is suspicious.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:72 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _craftPos.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:350 Medium V1048 The 'toContainer' variable was assigned the same value.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:972 Medium V560 A part of conditional expression is always true: _craft.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:1508 Medium V560 A part of conditional expression is always true: !placed.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:1716 Medium V560 A part of conditional expression is always true: pos_x >= 0.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:1717 Medium V560 A part of conditional expression is always true: pos_y >= 0.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:1718 Medium V560 A part of conditional expression is always true: pos_z >= 0.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:1958 Medium V799 The 'data' variable is not used after memory has been allocated for it. Consider checking the use of this variable.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:277 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(pos + Position(x, y, 0))'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:693 Low V522 There might be dereferencing of a potential null pointer '_base'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:1603 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(Position(x, y, i))'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:1638 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(Position(x, y, z))'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:1680 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:2316 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(Position(i, j, k))'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:2330 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(Position(x, y, 0))'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:2377 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:2440 Low V522 There might be dereferencing of a potential null pointer 'tile'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:2812 Low V522 There might be dereferencing of a potential null pointer 'tile'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:2860 Low V522 There might be dereferencing of a potential null pointer 'tile'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:2873 Low V522 There might be dereferencing of a potential null pointer 'tile'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:2882 Low V522 There might be dereferencing of a potential null pointer 'tile'.
General Analysis

OpenXcom

BattlescapeGenerator.cpp:1497 Low V796 It is possible that 'break' statement is missing in switch statement.
General Analysis

OpenXcom

BattlescapeState.cpp:1219 Medium V1002 The 'Action' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

BattlescapeState.cpp:2047 Medium V1002 The 'BattlescapeGenerator' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

BattlescapeState.cpp:2188 Medium V1002 The 'Action' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

BattlescapeState.cpp:2214 Medium V1002 The 'Action' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

BattlescapeState.cpp:1637 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(newPos)'.
General Analysis

OpenXcom

BattlescapeState.cpp:1738 Low V522 There might be dereferencing of a potential null pointer 't'.
General Analysis

OpenXcom

BattlescapeState.cpp:1843 Low V522 There might be dereferencing of a potential null pointer 'tile'.
General Analysis

OpenXcom

BattlescapeState.cpp:1961 Low V522 There might be dereferencing of a potential null pointer 'tile'.
General Analysis

OpenXcom

BattlescapeState.h:29 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Camera.cpp:477 Low V525 The code contains the collection of similar blocks. Check items '16', '16', '24' in lines 477, 478, 479.
General Analysis

OpenXcom

DebriefingState.cpp:1352 High V595 The 'ruleDeploy' pointer was utilized before it was verified against nullptr. Check lines: 1352, 1372.
General Analysis

OpenXcom

DebriefingState.cpp:1209 Medium V728 An excessive check can be simplified. The '||' operator is surrounded by opposite expressions '!aborted' and 'aborted'.
General Analysis

OpenXcom

ExplosionBState.cpp:137 Low V522 There might be dereferencing of a potential null pointer 't'.
General Analysis

OpenXcom

Inventory.cpp:656 Low V522 There might be dereferencing of a potential null pointer 'item'.
General Analysis

OpenXcom

InventoryState.h:28 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Map.cpp:738 High V595 The 'tile->getMapData(O_WESTWALL)' pointer was utilized before it was verified against nullptr. Check lines: 738, 750.
General Analysis

OpenXcom

Map.cpp:1089 High V595 The '_numWaypid' pointer was utilized before it was verified against nullptr. Check lines: 1089, 1107.
General Analysis

OpenXcom

Map.cpp:1167 High V595 The '_numWaypid' pointer was utilized before it was verified against nullptr. Check lines: 1167, 1174.
General Analysis

OpenXcom

Map.cpp:1127 Medium V1051 Consider checking for misprints. It's possible that the 'tileBelow' should be checked here.
General Analysis

OpenXcom

Map.cpp:540 Medium V547 Expression '_projectileInFOV' is always true.
General Analysis

OpenXcom

Map.cpp:1087 Low V522 There might be dereferencing of a potential null pointer '_numWaypid'.
General Analysis

OpenXcom

Map.cpp:1467 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

Map.cpp:1493 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(pos + Position(x, y, 0))'.
General Analysis

OpenXcom

Map.cpp:1072 Low V525 The code contains the collection of similar blocks. Check items '1', '2', '2' in lines 1072, 1073, 1074.
General Analysis

OpenXcom

Map.h:29 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

MedikitState.cpp:72 High V1053 Calling the 'setHighContrast' virtual function in the constructor may lead to unexpected result at runtime.
General Analysis

OpenXcom

MedikitState.cpp:93 High V1053 Calling the 'setColor' virtual function in the constructor may lead to unexpected result at runtime.
General Analysis

OpenXcom

MedikitState.cpp:94 High V1053 Calling the 'setHighContrast' virtual function in the constructor may lead to unexpected result at runtime.
General Analysis

OpenXcom

MeleeAttackBState.cpp:94 Medium V560 A part of conditional expression is always false: _ammo == 0.
General Analysis

OpenXcom

MeleeAttackBState.cpp:95 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

MeleeAttackBState.cpp:141 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

NextTurnState.h:30 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Pathfinding.cpp:500 High V547 Expression 'numberOfPartsChangingHeight == 1' is always false.
General Analysis

OpenXcom

Pathfinding.cpp:656 Medium V560 A part of conditional expression is always true: unit != _unit.
General Analysis

OpenXcom

Pathfinding.cpp:1120 Medium V560 A part of conditional expression is always true: tuCost != 255.
General Analysis

OpenXcom

Pathfinding.cpp:110 Low V522 There might be dereferencing of a potential null pointer 'destinationTile'.
General Analysis

OpenXcom

Pathfinding.cpp:144 Low V522 There might be dereferencing of a potential null pointer 'checkTile'.
General Analysis

OpenXcom

Pathfinding.cpp:229 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(nextPos)'.
General Analysis

OpenXcom

Pathfinding.cpp:386 Low V522 There might be dereferencing of a potential null pointer 'startTile'.
General Analysis

OpenXcom

Pathfinding.cpp:489 Low V522 There might be dereferencing of a potential null pointer 'destinationTile'.
General Analysis

OpenXcom

Pathfinding.cpp:489 Low V522 There might be dereferencing of a potential null pointer 'startTile'.
General Analysis

OpenXcom

Pathfinding.cpp:646 Low V522 There might be dereferencing of a potential null pointer 't'.
General Analysis

OpenXcom

Pathfinding.cpp:878 Low V522 There might be dereferencing of a potential null pointer 'startTile'.
General Analysis

OpenXcom

Pathfinding.cpp:973 Low V522 There might be dereferencing of a potential null pointer 'tile'.
General Analysis

OpenXcom

Pathfinding.cpp:1105 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(nextPoint)'.
General Analysis

OpenXcom

PrimeGrenadeState.h:29 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Projectile.cpp:49 Medium V1077 The 'Projectile' constructor contains potentially uninitialized members. Inspect the following: _sprite.
General Analysis

OpenXcom

Projectile.cpp:169 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(hitPos)'.
General Analysis

OpenXcom

Projectile.cpp:170 Low V522 There might be dereferencing of a potential null pointer 'targetTile'.
General Analysis

OpenXcom

Projectile.cpp:224 Low V522 There might be dereferencing of a potential null pointer 'targetTile'.
General Analysis

OpenXcom

Projectile.cpp:236 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

Projectile.h:29 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

ProjectileFlyBState.cpp:111 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

ProjectileFlyBState.cpp:218 Low V522 There might be dereferencing of a potential null pointer 'targetTile'.
General Analysis

OpenXcom

ProjectileFlyBState.cpp:552 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

ProjectileFlyBState.cpp:735 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

ProjectileFlyBState.cpp:736 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

ProjectileFlyBState.cpp:507 Low V525 The code contains the collection of similar blocks. Check items '16', '16', '24' in lines 507, 508, 509.
General Analysis

OpenXcom

PromotionsState.cpp:44 Low V525 The code contains the collection of similar blocks. Check items '17', '9', '9', '9' in lines 44, 45, 46, 47.
General Analysis

OpenXcom

PsiAttackBState.cpp:82 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

PsiAttackBState.cpp:133 Low V636 The expression was implicitly cast from 'int' type to 'double' type. Consider utilizing an explicit type cast to avoid overflow. An example: double A = (double)(X) * Y;.
General Analysis

OpenXcom

PsiAttackBState.cpp:157 Low V656 Variables 'killStat.weapon', 'killStat.weaponAmmo' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the '_action.weapon->getRules()->getName()' expression. Check lines: 156, 157.
General Analysis

OpenXcom

ScannerState.h:25 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

TileEngine.cpp:470 Medium V547 Expression 'otherUnit' is always true.
General Analysis

OpenXcom

TileEngine.cpp:1271 Medium V547 Expression 'power_ > 0' is always true.
General Analysis

OpenXcom

TileEngine.cpp:1213 Medium V636 The 'center.z / 24' expression was implicitly cast from 'int' type to 'double' type. Consider utilizing an explicit type cast to avoid the loss of a fractional part. An example: double A = (double)(X) / Y;.
General Analysis

OpenXcom

TileEngine.cpp:1214 Medium V636 The 'center.x / 16' expression was implicitly cast from 'int' type to 'double' type. Consider utilizing an explicit type cast to avoid the loss of a fractional part. An example: double A = (double)(X) / Y;.
General Analysis

OpenXcom

TileEngine.cpp:1215 Medium V636 The 'center.y / 16' expression was implicitly cast from 'int' type to 'double' type. Consider utilizing an explicit type cast to avoid the loss of a fractional part. An example: double A = (double)(X) / Y;.
General Analysis

OpenXcom

TileEngine.cpp:208 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

TileEngine.cpp:211 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

TileEngine.cpp:214 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

TileEngine.cpp:217 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

TileEngine.cpp:255 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(unit->getPosition())'.
General Analysis

OpenXcom

TileEngine.cpp:287 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(test)'.
General Analysis

OpenXcom

TileEngine.cpp:327 Low V522 There might be dereferencing of a potential null pointer '_save->getTile(posi)'.
General Analysis

OpenXcom

TileEngine.cpp:367 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

TileEngine.cpp:438 Low V522 There might be dereferencing of a potential null pointer 't'.
General Analysis

OpenXcom

TileEngine.cpp:1245 Low V522 There might be dereferencing of a potential null pointer 'origin'.
General Analysis

OpenXcom

TileEngine.cpp:1276 Low V522 There might be dereferencing of a potential null pointer 'dest'.
General Analysis

OpenXcom

TileEngine.cpp:1289 Low V522 There might be dereferencing of a potential null pointer 'tileBelow'.
General Analysis

OpenXcom

TileEngine.cpp:2606 Low V522 There might be dereferencing of a potential null pointer 'tempTile'.
General Analysis

OpenXcom

TileEngine.cpp:2726 Low V522 There might be dereferencing of a potential null pointer 'rt'.
General Analysis

OpenXcom

TileEngine.cpp:2760 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

TileEngine.cpp:372 Low V525 The code contains the collection of similar blocks. Check items '8', '8', '1' in lines 372, 373, 374.
General Analysis

OpenXcom

TileEngine.cpp:1213 Low V525 The code contains the collection of similar blocks. Check items '24', '16', '16' in lines 1213, 1214, 1215.
General Analysis

OpenXcom

TileEngine.cpp:3190 Low V525 The code contains the collection of similar blocks. Check items '8', '8', '16' in lines 3190, 3191, 3192.
General Analysis

OpenXcom

TileEngine.cpp:1662 Low V547 Expression 'direction > 0' is always true.
General Analysis

OpenXcom

UnitDieBState.cpp:325 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

UnitFallBState.cpp:92 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

UnitFallBState.cpp:112 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

UnitInfoState.cpp:50 Medium V1077 The 'UnitInfoState' constructor contains potentially uninitialized members. Inspect the following: _btnPrev, _btnNext.
General Analysis

OpenXcom

UnitInfoState.h:29 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

UnitSprite.cpp:736 Low V1037 Two or more case-branches perform the same actions. Check lines: 736, 737
General Analysis

OpenXcom

UnitSprite.cpp:738 Low V1037 Two or more case-branches perform the same actions. Check lines: 738, 739
General Analysis

OpenXcom

UnitSprite.cpp:979 Low V1037 Two or more case-branches perform the same actions. Check lines: 979, 980
General Analysis

OpenXcom

UnitSprite.cpp:981 Low V1037 Two or more case-branches perform the same actions. Check lines: 981, 982
General Analysis

OpenXcom

UnitSprite.cpp:1202 Low V1037 Two or more case-branches perform the same actions. Check lines: 1202, 1203
General Analysis

OpenXcom

UnitSprite.cpp:1280 Low V1037 Two or more case-branches perform the same actions. Check lines: 1280, 1281, 1282
General Analysis

OpenXcom

UnitSprite.cpp:1284 Low V1037 Two or more case-branches perform the same actions. Check lines: 1284, 1285, 1286
General Analysis

OpenXcom

UnitWalkBState.cpp:455 Medium V560 A part of conditional expression is always true: !_falling.
General Analysis

OpenXcom

UnitWalkBState.cpp:114 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

UnitWalkBState.cpp:136 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

UnitWalkBState.cpp:138 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

UnitWalkBState.cpp:372 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

WarningMessage.cpp:46 High V1053 Calling the 'setVisible' virtual function in the constructor may lead to unexpected result at runtime.
General Analysis

OpenXcom

dirent.h:644 Medium V1048 The 'error' variable was assigned the same value.
General Analysis

OpenXcom

adlplayer.cpp:728 Medium V519 The 'adl_gv_subtracks_count' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 719, 728.
General Analysis

OpenXcom

adlplayer.cpp:217 Low V1048 The 'iNewBlock' variable was assigned the same value.
General Analysis

OpenXcom

adlplayer.cpp:230 Low V1048 The 'iNewBlock' variable was assigned the same value.
General Analysis

OpenXcom

adlplayer.cpp:316 Low V525 The code contains the collection of similar blocks. Check items 'i', 'v', 'i' in lines 316, 317, 318.
General Analysis

OpenXcom

fmopl.cpp:535 Medium V1048 The 'feedback2' variable was assigned the same value.
General Analysis

OpenXcom

fmopl.cpp:178 Low V1003 The macro 'SC' is a dangerous expression. The parameter 'db' must be surrounded by parentheses.
General Analysis

OpenXcom

fmopl.cpp:456 Low V1003 The macro 'OP_OUT' is a dangerous expression. The parameter 'con' must be surrounded by parentheses.
General Analysis

OpenXcom

fmopl.cpp:331 Low V1019 Compound assignment expression 'SLOT->evc += SLOT->evs' is used inside condition.
General Analysis

OpenXcom

fmopl.cpp:1232 Low V641 The size of the 'ptr' buffer is not a multiple of the element size of the type 'FM_OPL'.
General Analysis

OpenXcom

fmopl.h:15 Medium V677 Custom declaration of a standard 'UINT8' type. The system header file should be used: #include <BaseTsd.h>.
General Analysis

OpenXcom

fmopl.h:16 Medium V677 Custom declaration of a standard 'UINT16' type. The system header file should be used: #include <BaseTsd.h>.
General Analysis

OpenXcom

fmopl.h:17 Medium V677 Custom declaration of a standard 'UINT32' type. The system header file should be used: #include <BaseTsd.h>.
General Analysis

OpenXcom

fmopl.h:18 Medium V677 Custom declaration of a standard 'INT8' type. The system header file should be used: #include <BaseTsd.h>.
General Analysis

OpenXcom

fmopl.h:19 Medium V677 Custom declaration of a standard 'INT16' type. The system header file should be used: #include <BaseTsd.h>.
General Analysis

OpenXcom

fmopl.h:20 Medium V677 Custom declaration of a standard 'INT32' type. The system header file should be used: #include <BaseTsd.h>.
General Analysis

OpenXcom

CatFile.cpp:37 Medium V1048 The '_amount' variable was assigned the same value.
General Analysis

OpenXcom

CatFile.cpp:49 Medium V1048 The '_offset[i]' variable was assigned the same value.
General Analysis

OpenXcom

CatFile.cpp:51 Medium V1048 The '_size[i]' variable was assigned the same value.
General Analysis

OpenXcom

CrossPlatform.cpp:1084 High V570 The 'ctx' variable is assigned to itself.
General Analysis

OpenXcom

CrossPlatform.cpp:1135 High V595 The 'exception' pointer was utilized before it was verified against nullptr. Check lines: 1135, 1147.
General Analysis

OpenXcom

CrossPlatform.cpp:1084 Medium V1001 The 'ctx' variable is assigned but is not used by the end of the function.
General Analysis

OpenXcom

CrossPlatform.cpp:1084 Medium V1048 The 'ctx' variable was assigned the same value.
General Analysis

OpenXcom

CrossPlatform.cpp:993 Medium V522 There might be dereferencing of a potential null pointer 'symbol'. Check lines: 993, 992.
General Analysis

OpenXcom

CrossPlatform.cpp:996 Medium V522 There might be dereferencing of a potential null pointer 'line'. Check lines: 996, 995.
General Analysis

OpenXcom

FastLineClip.cpp:105 Low V525 The code contains the collection of similar blocks. Check items 'Clip1_Left', 'Clip1_Right', 'Clip1_Top', 'Clip1_Left' in lines 105, 106, 107, 108.
General Analysis

OpenXcom

FlcPlayer.cpp:914 Medium V1051 Consider checking for misprints. It's possible that the 'currentTick' should be checked here.
General Analysis

OpenXcom

FlcPlayer.cpp:485 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'loadingBuff->samples' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis

OpenXcom

FlcPlayer.cpp:491 Low V522 There might be dereferencing of a potential null pointer 'loadingBuff->samples'.
General Analysis

OpenXcom

FlcPlayer.cpp:82 Low V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _fileSize, _videoFrameData, _chunkData, _audioFrameData, _frameCount, _headerSize, ...
General Analysis

OpenXcom

Font.h:31 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Game.cpp:175 Medium V1002 The 'Action' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

Game.cpp:254 Medium V1002 The 'Action' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

Game.cpp:191 Medium V641 The size of the '& _event' buffer is not a multiple of the element size of the type 'SDL_ActiveEvent'.
General Analysis

OpenXcom

Game.cpp:54 Medium V730 It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: _event.
General Analysis

OpenXcom

Game.cpp:263 Medium V768 The variable 'captureMouse' is of enum type. It is odd that it is used as a variable of a Boolean-type.
General Analysis

OpenXcom

Game.cpp:586 Low V1048 The 'currentLang' variable was assigned the same value.
General Analysis

OpenXcom

Game.cpp:601 Low V1048 The 'currentLang' variable was assigned the same value.
General Analysis

OpenXcom

Game.cpp:251 Low V796 It is possible that 'break' statement is missing in switch statement.
General Analysis

OpenXcom

GMCat.cpp:252 Low V1051 Consider checking for misprints. It's possible that the 'data2' should be checked here.
General Analysis

OpenXcom

GraphSubset.h:32 Low V690 The 'GraphSubset' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

InteractiveSurface.cpp:235 Medium V1002 The 'Action' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

LanguagePlurality.cpp:106 Medium V560 A part of conditional expression is always true: n % 10 <= 9.
General Analysis

OpenXcom

LanguagePlurality.cpp:161 Medium V560 A part of conditional expression is always true: n % 10 <= 9.
General Analysis

OpenXcom

LocalizedText.cpp:51 Low V659 Declarations of functions with 'LocalizedText::arg' name differ in the 'const' keyword only, but the bodies of these functions have different composition. This is suspicious and can possibly be an error. Check lines: 30, 51.
General Analysis

OpenXcom

LocalizedText.h:30 High V1040 Possible typo in the spelling of a pre-defined macro name. The '__GNUC_' macro is similar to '__GNUC'.
General Analysis

OpenXcom

Logger.h:50 Low V690 The copy constructor is declared as private in the 'Logger' class, but the default copy assignment operator will still be generated by compiler. It is dangerous to use such a class.
General Analysis

OpenXcom

OpenGL.h:24 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

OptionInfo.cpp:154 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Options.cpp:692 Low V783 Dereferencing of the invalid iterator might take place.
General Analysis

OpenXcom

Options.cpp:1172 Low V783 Dereferencing of the invalid iterator '_modInfos.find(id)' might take place.
General Analysis

OpenXcom

hq2x.cpp:394 Medium V1037 Two or more case-branches perform the same actions. Check lines: 394, 1864
General Analysis

OpenXcom

hq2x.cpp:404 Medium V1037 Two or more case-branches perform the same actions. Check lines: 404, 1880
General Analysis

OpenXcom

hq2x.cpp:414 Medium V1037 Two or more case-branches perform the same actions. Check lines: 414, 1856
General Analysis

OpenXcom

hq2x.cpp:424 Medium V1037 Two or more case-branches perform the same actions. Check lines: 424, 1872
General Analysis

OpenXcom

hq2x.cpp:74 Low V553 The length of 'hq2x_32_rb' function's body is more than 2000 lines long. You should consider refactoring the code.
General Analysis

OpenXcom

hq3x.cpp:502 Medium V1037 Two or more case-branches perform the same actions. Check lines: 502, 2546
General Analysis

OpenXcom

hq3x.cpp:517 Medium V1037 Two or more case-branches perform the same actions. Check lines: 517, 2572
General Analysis

OpenXcom

hq3x.cpp:532 Medium V1037 Two or more case-branches perform the same actions. Check lines: 532, 2533
General Analysis

OpenXcom

hq3x.cpp:547 Medium V1037 Two or more case-branches perform the same actions. Check lines: 547, 2559
General Analysis

OpenXcom

hq3x.cpp:79 Low V553 The length of 'hq3x_32_rb' function's body is more than 2000 lines long. You should consider refactoring the code.
General Analysis

OpenXcom

hq4x.cpp:726 Medium V1037 Two or more case-branches perform the same actions. Check lines: 726, 3588
General Analysis

OpenXcom

hq4x.cpp:748 Medium V1037 Two or more case-branches perform the same actions. Check lines: 748, 3628
General Analysis

OpenXcom

hq4x.cpp:770 Medium V1037 Two or more case-branches perform the same actions. Check lines: 770, 3568
General Analysis

OpenXcom

hq4x.cpp:792 Medium V1037 Two or more case-branches perform the same actions. Check lines: 792, 3608
General Analysis

OpenXcom

hq4x.cpp:403 Low V525 The code contains the collection of similar blocks. Check items '1', '6', '6' in lines 403, 404, 405.
General Analysis

OpenXcom

hq4x.cpp:484 Low V525 The code contains the collection of similar blocks. Check items '7', '6', '6' in lines 484, 485, 486.
General Analysis

OpenXcom

hq4x.cpp:507 Low V525 The code contains the collection of similar blocks. Check items '4', '9', '9' in lines 507, 508, 509.
General Analysis

OpenXcom

hq4x.cpp:936 Low V525 The code contains the collection of similar blocks. Check items '4', '3', '3' in lines 936, 937, 938.
General Analysis

OpenXcom

hq4x.cpp:945 Low V525 The code contains the collection of similar blocks. Check items '5', '6', '6' in lines 945, 946, 947.
General Analysis

OpenXcom

hq4x.cpp:1047 Low V525 The code contains the collection of similar blocks. Check items '4', '9', '9' in lines 1047, 1048, 1049.
General Analysis

OpenXcom

hq4x.cpp:1056 Low V525 The code contains the collection of similar blocks. Check items '5', '6', '6' in lines 1056, 1057, 1058.
General Analysis

OpenXcom

hq4x.cpp:1078 Low V525 The code contains the collection of similar blocks. Check items '7', '6', '6' in lines 1078, 1079, 1080.
General Analysis

OpenXcom

hq4x.cpp:1217 Low V525 The code contains the collection of similar blocks. Check items '1', '6', '6' in lines 1217, 1218, 1219.
General Analysis

OpenXcom

hq4x.cpp:1289 Low V525 The code contains the collection of similar blocks. Check items '7', '6', '6' in lines 1289, 1290, 1291.
General Analysis

OpenXcom

hq4x.cpp:1309 Low V525 The code contains the collection of similar blocks. Check items '4', '9', '9' in lines 1309, 1310, 1311.
General Analysis

OpenXcom

hq4x.cpp:1765 Low V525 The code contains the collection of similar blocks. Check items '1', '6', '6' in lines 1765, 1766, 1767.
General Analysis

OpenXcom

hq4x.cpp:1777 Low V525 The code contains the collection of similar blocks. Check items '7', '6', '6' in lines 1777, 1778, 1779.
General Analysis

OpenXcom

hq4x.cpp:1817 Low V525 The code contains the collection of similar blocks. Check items '4', '9', '9' in lines 1817, 1818, 1819.
General Analysis

OpenXcom

hq4x.cpp:1937 Low V525 The code contains the collection of similar blocks. Check items '7', '6', '6' in lines 1937, 1938, 1939.
General Analysis

OpenXcom

hq4x.cpp:1945 Low V525 The code contains the collection of similar blocks. Check items '1', '6', '6' in lines 1945, 1946, 1947.
General Analysis

OpenXcom

hq4x.cpp:1957 Low V525 The code contains the collection of similar blocks. Check items '4', '9', '9' in lines 1957, 1958, 1959.
General Analysis

OpenXcom

hq4x.cpp:2069 Low V525 The code contains the collection of similar blocks. Check items '1', '2', '2' in lines 2069, 2070, 2071.
General Analysis

OpenXcom

hq4x.cpp:2377 Low V525 The code contains the collection of similar blocks. Check items '5', '6', '6' in lines 2377, 2378, 2379.
General Analysis

OpenXcom

hq4x.cpp:2488 Low V525 The code contains the collection of similar blocks. Check items '5', '6', '6' in lines 2488, 2489, 2490.
General Analysis

OpenXcom

hq4x.cpp:2633 Low V525 The code contains the collection of similar blocks. Check items '1', '2', '2' in lines 2633, 2634, 2635.
General Analysis

OpenXcom

hq4x.cpp:2679 Low V525 The code contains the collection of similar blocks. Check items '7', '6', '6' in lines 2679, 2680, 2681.
General Analysis

OpenXcom

hq4x.cpp:2766 Low V525 The code contains the collection of similar blocks. Check items '4', '9', '9' in lines 2766, 2767, 2768.
General Analysis

OpenXcom

hq4x.cpp:2953 Low V525 The code contains the collection of similar blocks. Check items '4', '9', '9' in lines 2953, 2954, 2955.
General Analysis

OpenXcom

hq4x.cpp:2981 Low V525 The code contains the collection of similar blocks. Check items '1', '6', '6' in lines 2981, 2982, 2983.
General Analysis

OpenXcom

hq4x.cpp:3013 Low V525 The code contains the collection of similar blocks. Check items '7', '6', '6' in lines 3013, 3014, 3015.
General Analysis

OpenXcom

hq4x.cpp:3025 Low V525 The code contains the collection of similar blocks. Check items '1', '2', '2' in lines 3025, 3026, 3027.
General Analysis

OpenXcom

hq4x.cpp:4137 Low V525 The code contains the collection of similar blocks. Check items '7', '6', '6' in lines 4137, 4138, 4139.
General Analysis

OpenXcom

hq4x.cpp:4264 Low V525 The code contains the collection of similar blocks. Check items '5', '6', '6' in lines 4264, 4265, 4266.
General Analysis

OpenXcom

hq4x.cpp:4284 Low V525 The code contains the collection of similar blocks. Check items '5', '6', '6' in lines 4284, 4285, 4286.
General Analysis

OpenXcom

hq4x.cpp:4297 Low V525 The code contains the collection of similar blocks. Check items '4', '9', '9' in lines 4297, 4298, 4299.
General Analysis

OpenXcom

hq4x.cpp:4573 Low V525 The code contains the collection of similar blocks. Check items '1', '2', '2' in lines 4573, 4574, 4575.
General Analysis

OpenXcom

hq4x.cpp:166 Low V553 The length of 'hq4x_32_rb' function's body is more than 2000 lines long. You should consider refactoring the code.
General Analysis

OpenXcom

scale3x.cpp:115 High V583 The '?:' operator, regardless of its conditional expression, always returns one and the same value: src1[0].
General Analysis

OpenXcom

scale3x.cpp:152 High V583 The '?:' operator, regardless of its conditional expression, always returns one and the same value: src1[0].
General Analysis

OpenXcom

scale3x.cpp:217 High V583 The '?:' operator, regardless of its conditional expression, always returns one and the same value: src1[0].
General Analysis

OpenXcom

scale3x.cpp:254 High V583 The '?:' operator, regardless of its conditional expression, always returns one and the same value: src1[0].
General Analysis

OpenXcom

scale3x.cpp:319 High V583 The '?:' operator, regardless of its conditional expression, always returns one and the same value: src1[0].
General Analysis

OpenXcom

scale3x.cpp:356 High V583 The '?:' operator, regardless of its conditional expression, always returns one and the same value: src1[0].
General Analysis

OpenXcom

scale3x.cpp:65 Medium V560 A part of conditional expression is always true: src1[0] != src0[0].
General Analysis

OpenXcom

scale3x.cpp:115 Medium V560 A part of conditional expression is always true: src1[0] != src0[0].
General Analysis

OpenXcom

scale3x.cpp:115 Medium V560 A part of conditional expression is always true: src1[0] != src2[0].
General Analysis

OpenXcom

scale3x.cpp:152 Medium V560 A part of conditional expression is always true: src1[0] != src0[0].
General Analysis

OpenXcom

scale3x.cpp:152 Medium V560 A part of conditional expression is always true: src1[0] != src2[0].
General Analysis

OpenXcom

scale3x.cpp:167 Medium V560 A part of conditional expression is always true: src1[0] != src0[0].
General Analysis

OpenXcom

scale3x.cpp:217 Medium V560 A part of conditional expression is always true: src1[0] != src0[0].
General Analysis

OpenXcom

scale3x.cpp:217 Medium V560 A part of conditional expression is always true: src1[0] != src2[0].
General Analysis

OpenXcom

scale3x.cpp:254 Medium V560 A part of conditional expression is always true: src1[0] != src0[0].
General Analysis

OpenXcom

scale3x.cpp:254 Medium V560 A part of conditional expression is always true: src1[0] != src2[0].
General Analysis

OpenXcom

scale3x.cpp:269 Medium V560 A part of conditional expression is always true: src1[0] != src0[0].
General Analysis

OpenXcom

scale3x.cpp:319 Medium V560 A part of conditional expression is always true: src1[0] != src0[0].
General Analysis

OpenXcom

scale3x.cpp:319 Medium V560 A part of conditional expression is always true: src1[0] != src2[0].
General Analysis

OpenXcom

scale3x.cpp:356 Medium V560 A part of conditional expression is always true: src1[0] != src0[0].
General Analysis

OpenXcom

scale3x.cpp:356 Medium V560 A part of conditional expression is always true: src1[0] != src2[0].
General Analysis

OpenXcom

xbrz.cpp:35 Low V1003 The macro 'calcColor' is a dangerous expression. The parameters 'colFront', 'colBack' must be surrounded by parentheses.
General Analysis

OpenXcom

xbrz.cpp:428 Low V1048 The 'doLineBlend' variable was assigned the same value.
General Analysis

OpenXcom

xbrz.cpp:932 Low V525 The code contains the collection of similar blocks. Check items '2', '3', '4', '5', '4', '5' in lines 932, 933, 934, 935, 937, 938.
General Analysis

OpenXcom

xbrz.cpp:952 Low V525 The code contains the collection of similar blocks. Check items '2', '3', '4', '5', '4', '5' in lines 952, 953, 954, 955, 957, 958.
General Analysis

OpenXcom

xbrz.cpp:974 Low V525 The code contains the collection of similar blocks. Check items '2', '3', '4', '5', '4', '5' in lines 974, 975, 976, 977, 979, 980.
General Analysis

OpenXcom

Screen.cpp:114 Medium V1077 The 'Screen' constructor contains potentially uninitialized members. Inspect the following: _screen.
General Analysis

OpenXcom

Screen.cpp:224 Medium V547 Expression '_screen->flags & 0x00000000' is always false.
General Analysis

OpenXcom

Screen.cpp:202 Medium V560 A part of conditional expression is always true: _screen->format->BitsPerPixel == 8.
General Analysis

OpenXcom

Screen.cpp:202 Medium V571 Recurring check. The '_screen->format->BitsPerPixel == 8' condition was already verified in line 200.
General Analysis

OpenXcom

Screen.h:27 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

ShaderDrawHelper.h:60 Medium V690 The 'ShaderBase' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

ShaderMove.h:27 Low V690 The 'ShaderMove' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

SoundSet.cpp:268 Medium V547 Expression 'size' is always true.
General Analysis

OpenXcom

SoundSet.cpp:156 Low V565 An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing.
General Analysis

OpenXcom

SoundSet.cpp:299 Low V565 An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing.
General Analysis

OpenXcom

State.cpp:534 Low V669 The 'dX', 'dY' arguments are non-constant references. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error.
General Analysis

OpenXcom

State.h:30 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Surface.cpp:480 Medium V547 Expression '_surface->flags & 0x00000000' is always false.
General Analysis

OpenXcom

Surface.h:38 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

SurfaceSet.cpp:220 Low V1020 The function exited without calling the '_frames[frame]->unlock' function. Check lines: 220, 198.
General Analysis

OpenXcom

SurfaceSet.cpp:220 Low V1020 The function exited without calling the '_frames[frame]->unlock' function. Check lines: 220, 216.
General Analysis

OpenXcom

SurfaceSet.h:27 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

SurfaceSet.h:35 Low V690 The 'SurfaceSet' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Timer.cpp:51 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _frameSkipStart.
General Analysis

OpenXcom

Timer.cpp:127 Low V1051 Consider checking for misprints. It's possible that the '_frameSkipStart' should be checked here.
General Analysis

OpenXcom

Unicode.cpp:81 Low V565 An empty exception handler. Silent suppression of exceptions can hide the presence of bugs in source code during testing.
General Analysis

OpenXcom

Zoom.cpp:850 Medium V1048 The 'sax' variable was assigned the same value.
General Analysis

OpenXcom

Zoom.cpp:854 Medium V1048 The 'say' variable was assigned the same value.
General Analysis

OpenXcom

Zoom.cpp:849 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'sax' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis

OpenXcom

Zoom.cpp:853 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'say' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis

OpenXcom

BuildNewBaseState.cpp:291 Medium V524 It is odd that the body of 'btnRotateRightRelease' function is fully equivalent to the body of 'btnRotateLeftRelease' function.
General Analysis

OpenXcom

BuildNewBaseState.cpp:327 Medium V524 It is odd that the body of 'btnRotateDownRelease' function is fully equivalent to the body of 'btnRotateUpRelease' function.
General Analysis

OpenXcom

BuildNewBaseState.cpp:383 Low V669 The 'dX', 'dY' arguments are non-constant references. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error.
General Analysis

OpenXcom

ConfirmCydoniaState.cpp:91 Medium V1002 The 'BattlescapeGenerator' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

Cord.h:27 Low V690 The 'CordPolar' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Cord.h:49 Low V690 The 'Cord' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

DogfightState.cpp:1165 Medium V1048 The 'finalRun' variable was assigned the same value.
General Analysis

OpenXcom

DogfightState.cpp:235 Medium V1077 The 'DogfightState' constructor contains potentially uninitialized members. Inspect the following: _w1FireInterval, _w2FireInterval.
General Analysis

OpenXcom

DogfightState.cpp:738 Low V522 There might be dereferencing of a potential null pointer '_ufo'.
General Analysis

OpenXcom

DogfightState.h:32 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

GeoscapeState.cpp:2217 Medium V1002 The 'BattlescapeGenerator' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

GeoscapeState.cpp:2672 Medium V1002 The 'Action' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

GeoscapeState.cpp:2364 Medium V1051 Consider checking for misprints. It's possible that the 'targetZone' should be checked here.
General Analysis

OpenXcom

GeoscapeState.cpp:1972 Medium V524 It is odd that the body of 'btnRotateRightRelease' function is fully equivalent to the body of 'btnRotateLeftRelease' function.
General Analysis

OpenXcom

GeoscapeState.cpp:2008 Medium V524 It is odd that the body of 'btnRotateDownRelease' function is fully equivalent to the body of 'btnRotateUpRelease' function.
General Analysis

OpenXcom

GeoscapeState.cpp:1285 Low V796 It is possible that 'break' statement is missing in switch statement.
General Analysis

OpenXcom

GeoscapeState.h:26 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Globe.cpp:136 High V547 Expression 'j > 120' is always false.
General Analysis

OpenXcom

Globe.cpp:1150 Low V1034 Do not use real type variables as loop counters.
General Analysis

OpenXcom

Globe.cpp:1429 Low V765 A compound assignment expression 'length *= length * 15' is suspicious. Consider inspecting it for a possible error.
General Analysis

OpenXcom

Globe.h:30 Medium V690 The 'Polygon' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Globe.h:31 Low V690 The 'SurfaceSet' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

GraphsState.cpp:497 Medium V522 There might be dereferencing of a potential null pointer 'button'.
General Analysis

OpenXcom

GraphsState.cpp:527 Medium V522 There might be dereferencing of a potential null pointer 'button'.
General Analysis

OpenXcom

GraphsState.cpp:551 Medium V522 There might be dereferencing of a potential null pointer 'button'.
General Analysis

OpenXcom

GraphsState.cpp:661 Low V1026 The 'total' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

GraphsState.cpp:672 Low V1026 The 'total' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

GraphsState.cpp:683 Low V1026 The 'total' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

GraphsState.cpp:838 Low V1026 The 'total' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

GraphsState.cpp:853 Low V1026 The 'total' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

GraphsState.h:25 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

MultipleTargetsState.cpp:78 Low V1026 The 'y' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

SelectDestinationState.cpp:247 Medium V524 It is odd that the body of 'btnRotateRightRelease' function is fully equivalent to the body of 'btnRotateLeftRelease' function.
General Analysis

OpenXcom

SelectDestinationState.cpp:283 Medium V524 It is odd that the body of 'btnRotateDownRelease' function is fully equivalent to the body of 'btnRotateUpRelease' function.
General Analysis

OpenXcom

SelectDestinationState.cpp:346 Low V669 The 'dX', 'dY' arguments are non-constant references. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error.
General Analysis

OpenXcom

ArrowButton.cpp:132 Low V525 The code contains the collection of similar blocks. Check items '5', '8', '3', '3' in lines 132, 133, 134, 135.
General Analysis

OpenXcom

ArrowButton.cpp:155 Low V525 The code contains the collection of similar blocks. Check items '5', '3', '3', '3' in lines 155, 156, 157, 158.
General Analysis

OpenXcom

ArrowButton.cpp:178 Low V525 The code contains the collection of similar blocks. Check items '1', '5', '9', '1' in lines 178, 179, 180, 181.
General Analysis

OpenXcom

ArrowButton.cpp:207 Low V525 The code contains the collection of similar blocks. Check items '1', '2', '9', '1' in lines 207, 208, 209, 210.
General Analysis

OpenXcom

ArrowButton.cpp:236 Low V525 The code contains the collection of similar blocks. Check items '2', '4', '2', '1' in lines 236, 237, 238, 239.
General Analysis

OpenXcom

ComboBox.cpp:198 Low V525 The code contains the collection of similar blocks. Check items '1', '2', '9', '1' in lines 198, 199, 200, 201.
General Analysis

OpenXcom

NumberText.cpp:80 Low V525 The code contains the collection of similar blocks. Check items '0', '0', '0', '1', '2', '3', '2', '2', '4', '4', '4' in lines 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90.
General Analysis

OpenXcom

NumberText.cpp:95 Low V525 The code contains the collection of similar blocks. Check items '0', '1', '2', '2', '0', '1', '2', '3', '4' in lines 95, 96, 97, 98, 99, 100, 101, 102, 103.
General Analysis

OpenXcom

NumberText.cpp:123 Low V525 The code contains the collection of similar blocks. Check items '0', '0', '0', '1', '2', '2', '2', '3', '3', '4', '4', '4' in lines 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134.
General Analysis

OpenXcom

NumberText.cpp:167 Low V525 The code contains the collection of similar blocks. Check items '0', '0', '0', '1', '2', '1', '2', '3', '2', '4', '4', '4' in lines 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178.
General Analysis

OpenXcom

Text.cpp:468 Low V669 The 'src' argument is a non-constant reference. The analyzer is unable to determine the position at which this argument is being modified. It is possible that the function contains an error.
General Analysis

OpenXcom

TextList.cpp:308 Medium V768 The expression '_align[i]' is of enum type. It is odd that it is used as an expression of a Boolean-type.
General Analysis

OpenXcom

TextList.cpp:956 Low V1026 The 'y' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

TextList.cpp:960 Low V1026 The 'y' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

TextList.cpp:1001 Low V1026 The 'y' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

TextList.cpp:1005 Low V1026 The 'y' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

TextList.cpp:1257 Low V524 It is odd that the body of 'setBorderColor' function is fully equivalent to the body of 'setArrowColor' function.
General Analysis

OpenXcom

lodepng.cpp:883 High V781 The value of the 'numcodes' index is checked after it was used. Perhaps there is a mistake in program logic.
General Analysis

OpenXcom

lodepng.cpp:1924 High V781 The value of the 'HCLEN' index is checked after it was used. Perhaps there is a mistake in program logic.
General Analysis

OpenXcom

lodepng.cpp:640 Medium V522 There might be dereferencing of a potential null pointer 'tree->tree1d'. Check lines: 640, 621.
General Analysis

OpenXcom

lodepng.cpp:747 Medium V522 There might be dereferencing of a potential null pointer 'b'. Check lines: 747, 733.
General Analysis

OpenXcom

lodepng.cpp:848 Medium V522 There might be dereferencing of a potential null pointer 'lists.freelist'. Check lines: 848, 841.
General Analysis

OpenXcom

lodepng.cpp:848 Medium V522 There might be dereferencing of a potential null pointer 'lists.memory'. Check lines: 848, 840.
General Analysis

OpenXcom

lodepng.cpp:2607 Medium V522 There might be dereferencing of a potential null pointer 'dest->palette'.
General Analysis

OpenXcom

lodepng.cpp:2767 Medium V522 There might be dereferencing of a potential null pointer 'dest->unknown_chunks_data[i]'.
General Analysis

OpenXcom

lodepng.cpp:3009 Medium V522 Dereferencing of the null pointer 'tree' might take place. The potential null pointer is passed into 'color_tree_init' function. Inspect the first argument. Check lines: 3009, 3058, 3057.
General Analysis

OpenXcom

lodepng.cpp:4232 Medium V522 There might be dereferencing of a potential null pointer 'color->palette'.
General Analysis

OpenXcom

lodepng.cpp:5593 Medium V522 There might be dereferencing of a potential null pointer 'adam7'. Check lines: 5593, 5579.
General Analysis

OpenXcom

lodepng.cpp:5595 Medium V522 There might be dereferencing of a potential null pointer '* out'. Check lines: 5595, 5576.
General Analysis

OpenXcom

lodepng.cpp:5286 Medium V547 Expression '!error' is always true.
General Analysis

OpenXcom

lodepng.cpp:1509 Medium V560 A part of conditional expression is always true: usezeros.
General Analysis

OpenXcom

lodepng.cpp:1634 Medium V560 A part of conditional expression is always true: usezeros.
General Analysis

OpenXcom

lodepng.cpp:3645 Medium V560 A part of conditional expression is always true: bits_done.
General Analysis

OpenXcom

lodepng.cpp:3645 Medium V560 A part of conditional expression is always true: numcolors_done.
General Analysis

OpenXcom

lodepng.cpp:753 Medium V575 The potential null pointer is passed into 'memcpy' function. Inspect the second argument. Check lines: 753, 733.
General Analysis

OpenXcom

lodepng.cpp:1119 Medium V612 An unconditional 'break' within a loop.
General Analysis

OpenXcom

lodepng.cpp:1951 Medium V612 An unconditional 'break' within a loop.
General Analysis

OpenXcom

lodepng.cpp:4343 Medium V612 An unconditional 'break' within a loop.
General Analysis

OpenXcom

lodepng.cpp:4392 Medium V612 An unconditional 'break' within a loop.
General Analysis

OpenXcom

lodepng.cpp:4484 Medium V612 An unconditional 'break' within a loop.
General Analysis

OpenXcom

lodepng.cpp:5836 Medium V612 An unconditional 'break' within a loop.
General Analysis

OpenXcom

lodepng.cpp:886 Medium V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'tree->lengths' is lost. Consider assigning realloc() to a temporary pointer.
General Analysis

OpenXcom

lodepng.cpp:445 Low V1003 The macro 'READBIT' is a dangerous expression. The parameter 'bitpointer' must be surrounded by parentheses.
General Analysis

OpenXcom

lodepng.cpp:2553 Low V1037 Two or more case-branches perform the same actions. Check lines: 2553, 2555, 2556
General Analysis

OpenXcom

lodepng.cpp:2566 Low V1037 Two or more case-branches perform the same actions. Check lines: 2566, 2568
General Analysis

OpenXcom

lodepng.cpp:5927 Low V1037 Two or more case-branches perform the same actions. Check lines: 5927, 5928, 5929
General Analysis

OpenXcom

lodepng.cpp:5931 Low V1037 Two or more case-branches perform the same actions. Check lines: 5931, 5933, 5940
General Analysis

OpenXcom

lodepng.cpp:5966 Low V1037 Two or more case-branches perform the same actions. Check lines: 5966, 5967
General Analysis

OpenXcom

lodepng.cpp:747 Low V522 There might be dereferencing of a potential null pointer 'a'.
General Analysis

OpenXcom

lodepng.cpp:747 Low V522 There might be dereferencing of a potential null pointer 'b'.
General Analysis

OpenXcom

lodepng.cpp:4730 Low V522 There might be dereferencing of a potential null pointer '* out'.
General Analysis

OpenXcom

lodepng.cpp:915 Low V525 The code contains the collection of similar blocks. Check items '8', '9', '7', '8' in lines 915, 916, 917, 918.
General Analysis

OpenXcom

lodepng.cpp:2566 Low V525 The code contains the collection of similar blocks. Check items '1', '3', '1', '2', '4' in lines 2566, 2567, 2568, 2569, 2570.
General Analysis

OpenXcom

lodepng.cpp:2050 Low V547 Expression 'settings->btype == 2' is always true.
General Analysis

OpenXcom

ListGamesState.cpp:92 Low V525 The code contains the collection of similar blocks. Check items '17', '9', '9', '9' in lines 92, 93, 94, 95.
General Analysis

OpenXcom

ModListState.cpp:340 Low V1026 The 'targetScrollPos' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

ModListState.cpp:424 Low V1026 The 'targetScrollPos' variable is incremented in the loop. Undefined behavior will occur in case of signed integer overflow.
General Analysis

OpenXcom

NewBattleState.cpp:475 Medium V1002 The 'BattlescapeGenerator' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor.
General Analysis

OpenXcom

NewBattleState.cpp:525 Low V522 There might be dereferencing of a potential null pointer '_craft'.
General Analysis

OpenXcom

SlideshowState.cpp:70 High V1051 Consider checking for misprints. It's possible that the 'transitionSeconds' should be checked here.
General Analysis

OpenXcom

SlideshowState.cpp:118 High V1051 Consider checking for misprints. It's possible that the 'transitionSeconds' should be checked here.
General Analysis

OpenXcom

TestState.h:26 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

ExtraSprites.h:27 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

ExtraSprites.h:28 Low V690 The 'SurfaceSet' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

MapDataSet.h:30 Low V690 The 'SurfaceSet' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

MapScript.cpp:148 Low V537 Consider reviewing the correctness of '_sizeX' item's usage.
General Analysis

OpenXcom

Mod.cpp:3314 High V547 Expression 'j == 3' is always false.
General Analysis

OpenXcom

Mod.cpp:1326 Low V522 There might be dereferencing of a potential null pointer 'rule'.
General Analysis

OpenXcom

Mod.cpp:2399 Low V522 There might be dereferencing of a potential null pointer 'rule1'.
General Analysis

OpenXcom

Mod.cpp:2399 Low V522 There might be dereferencing of a potential null pointer 'rule2'.
General Analysis

OpenXcom

Mod.h:33 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Mod.h:34 Low V690 The 'SurfaceSet' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Polygon.h:31 Medium V690 The 'Polygon' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

RuleGlobe.h:27 Medium V690 The 'Polygon' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

RuleInventory.cpp:235 Low V783 Dereferencing of the invalid iterator '_costs.find(slot->getId())' might take place.
General Analysis

OpenXcom

RuleItem.h:31 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

RuleItem.h:30 Low V690 The 'SurfaceSet' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

RuleVideo.cpp:26 Medium V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _useUfoAudioSequence, _slideshowHeader.
General Analysis

OpenXcom

AlienBase.cpp:60 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

AlienBase.cpp:62 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

AlienStrategy.cpp:149 Low V783 Dereferencing of the invalid iterator 'found' might take place.
General Analysis

OpenXcom

Base.cpp:310 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Base.cpp:324 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleItem.cpp:101 High V595 The '_rules' pointer was utilized before it was verified against nullptr. Check lines: 101, 121.
General Analysis

OpenXcom

BattleItem.cpp:130 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleItem.cpp:132 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnit.cpp:399 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnit.cpp:400 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnit.cpp:412 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnit.cpp:426 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnit.cpp:430 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnit.cpp:3096 Low V1004 The 'getUnitRules()' pointer was used unsafely after it was verified against nullptr. Check lines: 3081, 3096.
General Analysis

OpenXcom

BattleUnit.cpp:1164 Low V1048 The 'bodypart' variable was assigned the same value.
General Analysis

OpenXcom

BattleUnit.cpp:1991 Low V522 There might be dereferencing of a potential null pointer 'weaponRightHand'.
General Analysis

OpenXcom

BattleUnit.cpp:1992 Low V522 There might be dereferencing of a potential null pointer 'weaponLeftHand'.
General Analysis

OpenXcom

BattleUnit.cpp:127 Low V525 The code contains the collection of similar blocks. Check items 'getFrontArmor', 'getSideArmor', 'getSideArmor', 'getRearArmor', 'getUnderArmor' in lines 127, 128, 129, 130, 131.
General Analysis

OpenXcom

BattleUnit.cpp:230 Low V525 The code contains the collection of similar blocks. Check items 'getFrontArmor', 'getSideArmor', 'getSideArmor', 'getRearArmor', 'getUnderArmor' in lines 230, 231, 232, 233, 234.
General Analysis

OpenXcom

BattleUnit.cpp:129 Low V656 Variables '_maxArmor[SIDE_LEFT]', '_maxArmor[SIDE_RIGHT]' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the '_armor->getSideArmor()' expression. Check lines: 128, 129.
General Analysis

OpenXcom

BattleUnit.cpp:232 Low V656 Variables '_maxArmor[SIDE_LEFT]', '_maxArmor[SIDE_RIGHT]' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the '_armor->getSideArmor()' expression. Check lines: 231, 232.
General Analysis

OpenXcom

BattleUnit.h:40 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

BattleUnitStatistics.h:395 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnitStatistics.h:405 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnitStatistics.h:406 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnitStatistics.h:411 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnitStatistics.h:412 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

BattleUnitStatistics.h:424 Medium V730 It is possible that not all members of a class are initialized inside the constructor. Consider inspecting: daysWounded, KIA, MIA.
General Analysis

OpenXcom

Country.cpp:74 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Country.cpp:78 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Craft.cpp:754 Medium V522 There might be dereferencing of a potential null pointer 'u'.
General Analysis

OpenXcom

Craft.cpp:242 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Craft.cpp:244 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Craft.cpp:246 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

CraftWeapon.cpp:66 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

CraftWeaponProjectile.h:22 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

MissionSite.cpp:69 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

MissionSite.cpp:70 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

MissionStatistics.h:87 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

MissionStatistics.h:93 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

MovingTarget.cpp:39 High V1053 Calling the 'setDestination' virtual function in the destructor may lead to unexpected result at runtime.
General Analysis

OpenXcom

Node.cpp:103 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Node.cpp:105 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Production.cpp:216 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Production.cpp:218 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

SaveConverter.cpp:805 Medium V522 There might be dereferencing of a potential null pointer 'b'.
General Analysis

OpenXcom

SaveConverter.cpp:867 Medium V522 There might be dereferencing of a potential null pointer 'b'.
General Analysis

OpenXcom

SaveConverter.cpp:955 Medium V522 There might be dereferencing of a potential null pointer 'b'.
General Analysis

OpenXcom

SaveConverter.cpp:1090 Medium V522 There might be dereferencing of a potential null pointer 'b'.
General Analysis

OpenXcom

SaveConverter.cpp:942 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

SaveConverter.cpp:999 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

SaveConverter.cpp:1080 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

SaveConverter.h:36 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: id.
General Analysis

OpenXcom

SavedBattleGame.cpp:50 High V730 Not all members of a class are initialized inside the constructor. Consider inspecting: _tiles.
General Analysis

OpenXcom

SavedBattleGame.cpp:1604 Medium V560 A part of conditional expression is always true: t.
General Analysis

OpenXcom

SavedBattleGame.cpp:461 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

SavedBattleGame.cpp:715 Medium V614 Potentially uninitialized iterator 'end' used.
General Analysis

OpenXcom

SavedBattleGame.cpp:731 Medium V614 Potentially uninitialized iterator 'begin' used.
General Analysis

OpenXcom

SavedBattleGame.cpp:1328 Medium V686 A pattern was detected: (preferred->getFlags() < n->getFlags()) || ((preferred->getFlags() < n->getFlags()) && ...). The expression is excessive or contains a logical error.
General Analysis

OpenXcom

SavedBattleGame.cpp:144 Low V522 There might be dereferencing of a potential null pointer 'getTile(pos)'.
General Analysis

OpenXcom

SavedBattleGame.cpp:749 Low V522 There might be dereferencing of a potential null pointer 'getTile(pos)'.
General Analysis

OpenXcom

SavedBattleGame.cpp:988 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

SavedBattleGame.cpp:997 Low V522 There might be dereferencing of a potential null pointer 't'.
General Analysis

OpenXcom

SavedBattleGame.cpp:1031 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

SavedBattleGame.cpp:1135 Low V522 There might be dereferencing of a potential null pointer 'getTile(unit->getPosition())'.
General Analysis

OpenXcom

SavedBattleGame.cpp:1633 Low V522 There might be dereferencing of a potential null pointer.
General Analysis

OpenXcom

SavedBattleGame.cpp:1754 Low V525 The code contains the collection of similar blocks. Check items '25', '10', '5', '10' in lines 1754, 1756, 1758, 1760.
General Analysis

OpenXcom

SavedBattleGame.cpp:1771 Low V525 The code contains the collection of similar blocks. Check items '25', '20', '10', '20' in lines 1771, 1773, 1775, 1777.
General Analysis

OpenXcom

SavedGame.cpp:580 Medium V560 A part of conditional expression is always true: !git_sha.empty().
General Analysis

OpenXcom

SavedGame.cpp:601 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

SavedGame.cpp:618 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Soldier.cpp:175 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

SoldierDiary.cpp:166 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Tile.cpp:178 Medium V601 The 'true' value becomes a class object.
General Analysis

OpenXcom

Tile.cpp:182 Medium V601 The 'true' value becomes a class object.
General Analysis

OpenXcom

Tile.h:31 Medium V690 The 'Surface' class implements a copy constructor, but lacks the copy assignment operator. It is dangerous to use such a class.
General Analysis

OpenXcom

Transfer.cpp:141 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Ufo.cpp:191 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Ufo.cpp:193 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

Ufo.cpp:197 Medium V601 The bool type is implicitly cast to the class type.
General Analysis

OpenXcom

ArticleState.cpp:50 Medium V773 The '_btnNext' pointer was not released in destructor. A memory leak is possible.
General Analysis

OpenXcom

ArticleStateItem.cpp:39 Medium V1077 The 'ArticleStateItem' constructor contains potentially uninitialized members. Inspect the following: _lstInfo, _txtShotType, _txtAccuracy, _txtTuCost.
General Analysis

OpenXcom

ArticleStateTFTDItem.cpp:36 Medium V1077 The 'ArticleStateTFTDItem' constructor contains potentially uninitialized members. Inspect the following: _lstInfo, _txtShotType, _txtAccuracy, _txtTuCost.