fixed issues reported by static analyzer

This commit is contained in:
s1lentq 2024-12-11 23:30:27 +07:00
parent 8a77bba94d
commit 6f0d17bb74
17 changed files with 48 additions and 38 deletions

View File

@ -464,6 +464,7 @@ bool BotPhraseManager::Initialize(const char *filename, int bankIndex)
phraseData = SharedParse(phraseData); phraseData = SharedParse(phraseData);
if (!phraseData) if (!phraseData)
{ {
if (phrase) delete phrase;
CONSOLE_ECHO("Error parsing '%s' - expected identifier\n", filename); CONSOLE_ECHO("Error parsing '%s' - expected identifier\n", filename);
FREE_FILE(phraseDataFile); FREE_FILE(phraseDataFile);
return false; return false;

View File

@ -260,7 +260,7 @@ void CCareerTask::OnEvent(GameEventType event, CBasePlayer *pVictim, CBasePlayer
while ((pHostage = UTIL_FindEntityByClassname(pHostage, "hostage_entity"))) while ((pHostage = UTIL_FindEntityByClassname(pHostage, "hostage_entity")))
{ {
if (pHostage && pHostage->IsDead()) if (pHostage->IsDead())
hostagesCount++; hostagesCount++;
} }
@ -389,7 +389,6 @@ void CCareerTaskManager::Reset(bool deleteTasks)
delete task; delete task;
m_tasks.clear(); m_tasks.clear();
m_nextId = 0;
} }
else else
{ {
@ -397,6 +396,7 @@ void CCareerTaskManager::Reset(bool deleteTasks)
task->Reset(); task->Reset();
} }
m_nextId = 0;
m_finishedTaskTime = 0; m_finishedTaskTime = 0;
m_finishedTaskRound = 0; m_finishedTaskRound = 0;
m_shouldLatchRoundEndMessage = false; m_shouldLatchRoundEndMessage = false;

View File

@ -811,7 +811,9 @@ void Host_Say(edict_t *pEntity, BOOL teamonly)
if (*p == '"') if (*p == '"')
{ {
p++; p++;
p[Q_strlen(p) - 1] = '\0'; size_t len = Q_strlen(p);
if (len > 0)
p[len - 1] = '\0';
} }
// Check if buffer contains an invalid unicode sequence // Check if buffer contains an invalid unicode sequence

View File

@ -285,8 +285,6 @@ void RadiusDamage(Vector vecSrc, entvars_t *pevInflictor, entvars_t *pevAttacker
damageRatio = GetAmountOfPlayerVisible(vecSrc, pEntity); damageRatio = GetAmountOfPlayerVisible(vecSrc, pEntity);
} }
damageRatio = GetAmountOfPlayerVisible(vecSrc, pEntity);
float length; float length;
#ifdef REGAMEDLL_ADD #ifdef REGAMEDLL_ADD
// allow to damage breakable objects // allow to damage breakable objects

View File

@ -130,6 +130,10 @@ inline edict_t *EntityHandle<T>::Set(edict_t *pEdict)
{ {
m_serialnumber = pEdict->serialnumber; m_serialnumber = pEdict->serialnumber;
} }
else
{
m_serialnumber = 0;
}
return pEdict; return pEdict;
} }

View File

@ -302,7 +302,7 @@ void CFuncTank::ControllerPostFrame()
Assert(m_pController != nullptr); Assert(m_pController != nullptr);
if (m_pController->pev->button & IN_ATTACK) if (m_pController && m_pController->pev->button & IN_ATTACK)
{ {
Vector vecForward; Vector vecForward;
UTIL_MakeVectorsPrivate(pev->angles, vecForward, nullptr, nullptr); UTIL_MakeVectorsPrivate(pev->angles, vecForward, nullptr, nullptr);

View File

@ -624,7 +624,7 @@ void CHostage::TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecDir
BOOL CHostage::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType) BOOL CHostage::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{ {
#ifdef REGAMEDLL_ADD #ifdef REGAMEDLL_ADD
if (!CanTakeDamage(pevAttacker)) if (pevAttacker && !CanTakeDamage(pevAttacker))
return FALSE; return FALSE;
#endif #endif

View File

@ -78,7 +78,7 @@ void HostageIdleState::OnUpdate(CHostageImprov *improv)
} }
} }
if (m_moveState && improv->IsAtMoveGoal()) if (m_moveState != NotMoving && improv->IsAtMoveGoal())
{ {
m_moveState = NotMoving; m_moveState = NotMoving;

View File

@ -5158,12 +5158,9 @@ void CBasePlayer::UpdatePlayerSound()
m_iExtraSoundTypes = 0; m_iExtraSoundTypes = 0;
} }
if (pSound) pSound->m_vecOrigin = pev->origin;
{ pSound->m_iVolume = iVolume;
pSound->m_vecOrigin = pev->origin; pSound->m_iType |= (bits_SOUND_PLAYER | m_iExtraSoundTypes);
pSound->m_iVolume = iVolume;
pSound->m_iType |= (bits_SOUND_PLAYER | m_iExtraSoundTypes);
}
// keep track of virtual muzzle flash // keep track of virtual muzzle flash
m_iWeaponFlash -= 256 * gpGlobals->frametime; m_iWeaponFlash -= 256 * gpGlobals->frametime;
@ -5913,7 +5910,7 @@ void EXT_FUNC CBasePlayer::__API_HOOK(Spawn)()
TheBots->OnEvent(EVENT_PLAYER_SPAWNED, this); TheBots->OnEvent(EVENT_PLAYER_SPAWNED, this);
} }
m_allowAutoFollowTime = false; m_allowAutoFollowTime = 0.0f;
for (i = 0; i < COMMANDS_TO_TRACK; i++) for (i = 0; i < COMMANDS_TO_TRACK; i++)
m_flLastCommandTime[i] = -1; m_flLastCommandTime[i] = -1;
@ -8470,7 +8467,7 @@ void CBasePlayer::__API_HOOK(SwitchTeam)()
UpdateLocation(true); UpdateLocation(true);
if (m_iTeam) if (m_iTeam != UNASSIGNED)
{ {
SetScoreboardAttributes(); SetScoreboardAttributes();
} }
@ -9682,7 +9679,7 @@ void CBasePlayer::PrioritizeAutoBuyString(char (&autobuyString)[MAX_AUTOBUY_LENG
int newStringPos = 0; int newStringPos = 0;
char priorityToken[32]; char priorityToken[32];
if (!priorityString || !autobuyString) if (!priorityString)
return; return;
const char *priorityChar = priorityString; const char *priorityChar = priorityString;

View File

@ -250,10 +250,10 @@ edict_t *CSaveRestoreBuffer::EntityFromIndex(int entityIndex)
int CSaveRestoreBuffer::EntityFlagsSet(int entityIndex, int flags) int CSaveRestoreBuffer::EntityFlagsSet(int entityIndex, int flags)
{ {
if (!m_pData || entityIndex < 0) if (!m_pData)
return 0; return 0;
if (!m_pData || entityIndex < 0 || entityIndex > m_pData->tableCount) if (entityIndex < 0 || entityIndex > m_pData->tableCount)
return 0; return 0;
m_pData->pTable[entityIndex].flags |= flags; m_pData->pTable[entityIndex].flags |= flags;

View File

@ -1362,7 +1362,7 @@ void SENTENCEG_Init()
i = 0; i = 0;
while (rgsentenceg[i].count && i < MAX_SENTENCE_GROUPS) while (i < MAX_SENTENCE_GROUPS && rgsentenceg[i].count)
{ {
USENTENCEG_InitLRU(&(rgsentenceg[i].rgblru[0]), rgsentenceg[i].count); USENTENCEG_InitLRU(&(rgsentenceg[i].rgblru[0]), rgsentenceg[i].count);
i++; i++;
@ -1380,11 +1380,7 @@ int SENTENCEG_Lookup(const char *sample, char (&sentencenum)[32])
{ {
if (!Q_stricmp(gszallsentencenames[i], sample + 1)) if (!Q_stricmp(gszallsentencenames[i], sample + 1))
{ {
if (sentencenum) Q_snprintf(sentencenum, sizeof(sentencenum), "!%d", i);
{
Q_snprintf(sentencenum, sizeof(sentencenum), "!%d", i);
}
return i; return i;
} }
} }

View File

@ -625,7 +625,7 @@ void PlayCDTrack(edict_t *pClient, int iTrack)
if (!pClient) if (!pClient)
return; return;
if (iTrack < -1 || iTrack > 30) if (iTrack < -1 || iTrack >= (int)ARRAYSIZE(g_szMP3trackFileMap))
{ {
ALERT(at_console, "TriggerCDAudio - Track %d out of range\n", iTrack); ALERT(at_console, "TriggerCDAudio - Track %d out of range\n", iTrack);
return; return;

View File

@ -343,15 +343,20 @@ void CFuncVehicle::CheckTurning()
if (pev->speed > 0) if (pev->speed > 0)
{ {
UTIL_TraceLine(m_vFrontRight, m_vFrontRight - (gpGlobals->v_right * 16.0), ignore_monsters, dont_ignore_glass, ENT(pev), &tr); UTIL_TraceLine(m_vFrontRight, m_vFrontRight - (gpGlobals->v_right * 16.0), ignore_monsters, dont_ignore_glass, ENT(pev), &tr);
if (tr.flFraction != 1.0f)
{
m_iTurnAngle = 1;
}
} }
else if (pev->speed < 0) else if (pev->speed < 0)
{ {
UTIL_TraceLine(m_vBackLeft, m_vBackLeft + (gpGlobals->v_right * 16.0), ignore_monsters, dont_ignore_glass, ENT(pev), &tr); UTIL_TraceLine(m_vBackLeft, m_vBackLeft + (gpGlobals->v_right * 16.0), ignore_monsters, dont_ignore_glass, ENT(pev), &tr);
}
if (tr.flFraction != 1.0f) if (tr.flFraction != 1.0f)
{ {
m_iTurnAngle = 1; m_iTurnAngle = 1;
}
} }
} }
else if (m_iTurnAngle > 0) else if (m_iTurnAngle > 0)
@ -359,15 +364,20 @@ void CFuncVehicle::CheckTurning()
if (pev->speed > 0) if (pev->speed > 0)
{ {
UTIL_TraceLine(m_vFrontLeft, m_vFrontLeft + (gpGlobals->v_right * 16.0), ignore_monsters, dont_ignore_glass, ENT(pev), &tr); UTIL_TraceLine(m_vFrontLeft, m_vFrontLeft + (gpGlobals->v_right * 16.0), ignore_monsters, dont_ignore_glass, ENT(pev), &tr);
if (tr.flFraction != 1.0f)
{
m_iTurnAngle = -1;
}
} }
else if (pev->speed < 0) else if (pev->speed < 0)
{ {
UTIL_TraceLine(m_vBackRight, m_vBackRight - (gpGlobals->v_right * 16.0), ignore_monsters, dont_ignore_glass, ENT(pev), &tr); UTIL_TraceLine(m_vBackRight, m_vBackRight - (gpGlobals->v_right * 16.0), ignore_monsters, dont_ignore_glass, ENT(pev), &tr);
}
if (tr.flFraction != 1.0f) if (tr.flFraction != 1.0f)
{ {
m_iTurnAngle = -1; m_iTurnAngle = -1;
}
} }
} }

View File

@ -1333,7 +1333,6 @@ private:
const float M3_MAX_SPEED = 230.0f; const float M3_MAX_SPEED = 230.0f;
const float M3_DAMAGE = 20.0f; const float M3_DAMAGE = 20.0f;
const Vector M3_CONE_VECTOR = Vector(0.0675, 0.0675, 0.0); // special shotgun spreads
enum m3_e enum m3_e
{ {
@ -1764,7 +1763,6 @@ private:
const float XM1014_MAX_SPEED = 240.0f; const float XM1014_MAX_SPEED = 240.0f;
const float XM1014_DAMAGE = 20.0f; const float XM1014_DAMAGE = 20.0f;
const Vector XM1014_CONE_VECTOR = Vector(0.0725, 0.0725, 0.0); // special shotgun spreads
enum xm1014_e enum xm1014_e
{ {

View File

@ -1,5 +1,7 @@
#include "precompiled.h" #include "precompiled.h"
const Vector M3_CONE_VECTOR = {0.0675, 0.0675, 0.0}; // special shotgun spreads
LINK_ENTITY_TO_CLASS(weapon_m3, CM3, CCSM3) LINK_ENTITY_TO_CLASS(weapon_m3, CM3, CCSM3)
void CM3::Spawn() void CM3::Spawn()

View File

@ -1,5 +1,7 @@
#include "precompiled.h" #include "precompiled.h"
const Vector XM1014_CONE_VECTOR = {0.0725, 0.0725, 0.0}; // special shotgun spreads
LINK_ENTITY_TO_CLASS(weapon_xm1014, CXM1014, CCSXM1014) LINK_ENTITY_TO_CLASS(weapon_xm1014, CXM1014, CCSXM1014)
void CXM1014::Spawn() void CXM1014::Spawn()

View File

@ -67,7 +67,7 @@ Place PlaceDirectory::EntryToPlace(EntryType entry) const
return UNDEFINED_PLACE; return UNDEFINED_PLACE;
unsigned int i = entry - 1; unsigned int i = entry - 1;
if (i > m_directory.size()) if (i >= m_directory.size())
{ {
DbgAssert(false && "PlaceDirectory::EntryToPlace: Invalid entry"); DbgAssert(false && "PlaceDirectory::EntryToPlace: Invalid entry");
return UNDEFINED_PLACE; return UNDEFINED_PLACE;