
рд╕реНрд░реЛрдд рдПрд╕рдбреАрдХреЗ - рд╡рд╛рд▓реНрд╡ рдирд┐рдЧрдо рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд, рд╕реНрд░реЛрдд рдЗрдВрдЬрди рдкрд░ рд╕рдВрд╢реЛрдзрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб 2013 рдХреЗ рдЕрдВрдд рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рдереЗред рдирдП рд╕рд╛рд▓ рдХреА рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдкрд░, рдореИрдВрдиреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИред рд▓реЗрдХрд┐рди рдЖрд▓рд╕реНрдп рд░рдЪрдирд╛рддреНрдордХрддрд╛ рдкрд░ рдЬреАрдд рдЧрдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрдм рдореИрдВ рдХрд╛рдо рдкрд░ рд▓реМрдЯ рдЖрдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдХреБрдЫ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЙрди рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВ рдЬреЛ рдореИрдВрдиреЗ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдпрд╛ рдерд╛ред
рд╕реНрд░реЛрдд рдПрд╕рдбреАрдХреЗ рдХреНрдпрд╛ рд╣реИ
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛
рд╡рд┐рд╡рд░рдг рдЙрдзрд╛рд░ рд▓реЗрдВ:
рд╕реНрд░реЛрдд рдПрд╕рдбреАрдХреЗ (рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд┐рдЯ) рд╕реЛрд░реНрд╕ рдЗрдВрдЬрди рдкрд░ рд╕рдВрд╢реЛрдзрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬреЛ
рд╡рд╛рд▓реНрд╡ рдЙрди рд╕рднреА рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рд╕реНрдЯреАрдо рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореБрдлреНрдд рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ
рд╡рд╛рд▓реНрд╡ рд╕реЗ рдХрд┐рд╕реА рднреА рд╕реНрд░реЛрдд рдЧреЗрдо рдХреЛ рдЦрд░реАрджрддреЗ рд╣реИрдВред рдпрд╣ рд╕реЗрдЯ рдЖрдкрдХреЛ рдЗрдВрдЬрди рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдореИрдкреНрд╕ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - 15 рд╡реАрдВ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП 7 рд╡реЗрдВ (рд╣рд╛рдл-рд▓рд╛рдЗрдл 2 рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЗрдВрдЬрди рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рдХрд╛рд░рдг рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╛рдЗрдЯ:
http://source.valvesoftware.com/sourcedk.phpрдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдлреА рдмрдбрд╝реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрдорд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рд╣реЛрддрд╛ рд╣реИред
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рднрд╛рд╡
рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдЪрд░
static void DrawPyroVignette(....) { .... Vector2D vMaxSize( ( float )nScreenWidth / ( float )nScreenWidth / NUM_PYRO_SEGMENTS * 2.0f, ( float )nScreenHeight / ( float )nScreenHeight / NUM_PYRO_SEGMENTS * 2.0f ); .... }
PVS- рд╕реНрдЯреВрдбрд┐рдпреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
V501 рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: viewpostprocess.cpp 1888
рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:
- (рдлреНрд▓реЛрдЯ) nScreenWidth / (рдлреНрд▓реЛрдЯ) nScreenWidth
- (рдлреНрд▓реЛрдЯ) nScreenHeight / (рдлреНрд▓реЛрдЯ) nScreenHeight
рдпреЗ рдмрд╣реБрдд рд╣реА рд╕рдВрджрд┐рдЧреНрдз рднрд╛рд╡ рд╣реИрдВред рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреБрдЫ рдФрд░ред
IsJoystickPOVCode () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдбрдмрд▓ рдХреЙрд▓
void TextEntry::OnKeyCodePressed(KeyCode code) { .... if ( IsMouseCode(code) || IsNovintButtonCode(code) || IsJoystickCode(code) || IsJoystickButtonCode(code) || IsJoystickPOVCode(code) || IsJoystickPOVCode(code) || IsJoystickAxisCode(code) ) .... }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
V501 рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: textentry.cpp 1639
'IsJoystickPOVCode (рдХреЛрдб)' рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЛ рдмрд╛рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рдХреЙрд▓ рдирд┐рд░рд░реНрдердХ рд╣реИ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред
рд╣рдореЗрд╢рд╛ рдПрдХ рдЭреВрдареА рд╕реНрдерд┐рддрд┐
unsigned numbounce = 100; int ParseCommandLine( int argc, char **argv, bool *onlydetail ) { .... numbounce = atoi (argv[i]); if ( numbounce < 0 ) { Warning( "Error: expected non-negative value after '-bounce'\n"); return 1; } .... }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V547 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: vrad.cpp 2412ред
рд╢рд░реНрдд "рд╕реБрдиреНрди <0" рдХрднреА рдкреВрд░реА рдирд╣реАрдВ рд╣реЛрдЧреАред рдПрдХ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд░ рд╢реВрдиреНрдп рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред
рдЕрдЬреАрдм рд╕реНрдЯреНрд░рд┐рдВрдЧ рддреБрд▓рдирд╛
void CMultiplayRules::DeathNotice( .... ) { .... else if ( strncmp( killer_weapon_name, "NPC_", 8 ) == 0 ) .... }
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V666 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: рдорд▓реНрдЯреАрдкреНрд▓реЗ_рдЧреИрдорд░рд▓реНрд╕редрд╕реАрдкреА 860ред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд╡реЗ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдХрд┐ рд╣рдерд┐рдпрд╛рд░ рдХрд╛ рдирд╛рдо "рдПрдирдкреАрд╕реА_" рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЗрд╕ рдХреЛрдб рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реЛрддрд╛ рд╣реИред рд╕рдВрднрд╡рддрдГ рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рдпрд╣ рд╣реИ:
else if ( strncmp( killer_weapon_name, "NPC_", 4 ) == 0 )
рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐рдпрд╛рдВ
рдЧрд▓рдд рд╕рд░рдгреА рдЖрдХрд╛рд░
#define RTL_NUMBER_OF_V1(A) (sizeof(A)/sizeof((A)[0])) #define _ARRAYSIZE(A) RTL_NUMBER_OF_V1(A) int GetAllNeighbors( const CCoreDispInfo *pDisp, int iNeighbors[512] ) { .... if ( nNeighbors < _ARRAYSIZE( iNeighbors ) ) iNeighbors[nNeighbors++] = pCorner->m_Neighbors[i]; .... }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V511 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: disp_vrad.cpp 60
рдФрдкрдЪрд╛рд░рд┐рдХ рддрд░реНрдХ "int iNeighbors [512]" рдПрдХ рд╕рд░рдгреА рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИред рд╕рдВрдЦреНрдпрд╛ '512' рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╕реВрдЪрдХ 512 рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВред рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рд╕рд╛рдЗрдЬрд╝реЛрдлрд╝ (iNeighbors)' рдЕрд╡реИрдз рд╣реИред рдпрд╣ рд╕рд░рдгреА рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реВрдЪрдХ рдХрд╛ рдЖрдХрд╛рд░ред рдЕрд░реНрдерд╛рддреН, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'sizeof (iNeighbors)' 'sizeof (void *) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреАред
рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣:
template <typename T, size_t N> char (&ArraySizeHelper(T (&array)[N]))[N]; #define arraysize(array) (sizeof(ArraySizeHelper(array)))
рд╕реВрдЪрдХ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп, рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИред рдХреНрд░реЛрдорд┐рдпрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред "
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдмрдирд╛рдо рдХреНрд░реЛрдорд┐рдпрдо " рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рдЬрд╛рджреВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЧрд▓рдд рдкрд░рд┐рднрд╛рд╖рд╛
typedef struct message_s { .... char *text; .... } message_t; int CMessageCharsPanel::AddText(....) { .... msg->text = new char[ Q_strlen( data ) + 1 ]; Assert( msg->text ); Q_strncpy( msg->text, data, sizeof( msg->text ) ); .... }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
V579 рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: vgui_messagechars.cpp 240
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "sizeof (рд╕рдВрджреЗрд╢-> рдкрд╛рда)" рд╕реВрдЪрдХ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП: Q_strcpy (рд╕рдВрджреЗрд╢-> рдкрд╛рда, рдбреЗрдЯрд╛);
рдирд╖реНрдЯ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
static Activity DetermineExpressionMoveActivity( CChoreoEvent *event, CAI_BaseNPC *pNPC ) { .... const char *pszAct = Q_strstr( sParam2, " " ); if ( pszAct ) { char szActName[256]; Q_strncpy( szActName, sParam2, sizeof(szActName) ); szActName[ (pszAct-sParam2) ] = '\0'; pszAct = szActName; } .... }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
V507 рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: baseflex.cpp 1326
рдЕрд╕реНрдерд╛рдпреА рд╕рд░рдгреА рдХрд╛ рдкрддрд╛ рдЪрд░ 'pszAct' рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдпрд╣ рд╕рд░рдгреА рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧреА, рдЗрд╕рд▓рд┐рдП рдЖрдк 'pszAct' рдореЗрдВ рдореМрдЬреВрдж рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рдХреЛрдб рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХреЛрдб рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдЧрд▓рдд рдЙрдкрд╕реНрдерд┐рддрд┐ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЕрд╕реНрдерд╛рдпреА рд╕рд░рдгреА 'szActName' рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд┐рдП рдЧрдП рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЖрдЧреЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рднрд╛рдЧреНрдп рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред
рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╡рд┐рджреЗрд╢ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ
#define MAX_WEAPON_SLOTS 6
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
V557 рдЬрд╛рд░реА рдХрд░рддрд╛
рд╣реИ : hud_weaponselection.cpp 632, 633ред
рд▓реВрдк рдХрд╛рдЙрдВрдЯрд░ 0 рд╕реЗ 6 рддрдХ рдорд╛рди рд▓реЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, xModifiers рдФрд░ yModifiers рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ 4 рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рд╕рд░рдгреА рдХрд╛ рдПрдХ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╣реЛрдЧрд╛ред
рдирдП рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЦрддрд░рдирд╛рдХ рдЙрдкрдпреЛрдЧред
рдЕрд░реНрдерд╣реАрди рдЬрд╛рдБрдЪ
void EmitDispLMAlphaAndNeighbors() { .... CCoreDispInfo *pDisp = new CCoreDispInfo; if ( !pDisp ) { g_CoreDispInfos.Purge(); return; } .... }
PVS- рд╕реНрдЯреВрдбрд┐рдпреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
V668 рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: disp_vbsp.cpp 532ред
рдпрджрд┐ рдЖрдк 'CCoreDispInfo' рдкреНрд░рдХрд╛рд░ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ g_CoreDispInfos.Purge () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рд╕реНрдореГрддрд┐ рдЖрдмрдВрдЯрди рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж std :: bad_alloc рдлреЗрдВрдХрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдХреЛрдб рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ 'рдирдП' рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЬрд╣рд╛рдВ рдпрд╣ рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ 'рдирдпрд╛' рдСрдкрд░реЗрдЯрд░ рд▓реМрдЯрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдВ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдореЗрдВ рдирдпрд╛ рд╕рдВрдЪрд╛рд▓рдХ
CNewParticleEffect::~CNewParticleEffect(void) { .... KeyValues *msg = new KeyValues( "ParticleSystem_Destroy" ); .... }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V509 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ:
рдХрдг_new.cpp 92ред
рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдореЗрдВ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЦрддрд░рдирд╛рдХ рд╣реИ рдЬреЛ рдЕрдкрд╡рд╛рдж рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдареАрдХ 'рдирдП' рд╕рдВрдЪрд╛рд▓рдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╣реИред рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рддреНрд░реБрдЯрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИред
рдореИрдВ рдЦрддрд░реЗ рдХреЛ рд╕рдордЭрд╛рдКрдВрдЧрд╛ред рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕реНрдЯреИрдХ рдлреЛрд▓реНрдбрд┐рдВрдЧ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдбрд┐рд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕ рдХрд╣рдХрд░ рдирд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕реНрдЯреИрдХ рдХреЗ рдврд╣рдиреЗ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдбрд┐рд╕реНрдЯреНрд░реЙрдпрд░ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрдиреНрдп рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рддреЛ C ++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рддреБрд░рдВрдд рдЯрд░реНрдорд┐рдиреЗрдЯ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреНрд░реИрд╢ рдХрд░ рджреЗрддреА рд╣реИред
рд╢реБрджреНрдзрд┐рдкрддреНрд░
рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк рдореЗрдВ рддреНрд░реБрдЯрд┐
void DrawTeslaSegs(....) { int i; .... for ( i = 0; i < segments; i++ ) { .... for ( int j = 0; i < iBranches; j++ ) { curSeg.m_flWidth *= 0.5; } .... } .... }
PVS-Studio рдПрдХ
V534 рдХреЛ рдирд┐рдореНрди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: beadraw.cpp 592ред
рджреВрд╕рд░реЗ рдЪрдХреНрд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:
for ( int j = 0; i < iBranches; j++ )
рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЪрд░ 'i' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрд╛рд╣рд░реА рд▓реВрдк рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдПрдХ рдордЬрдмреВрдд рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдЯрд╛рдЗрдкреЛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЧрд▓рдд рд╢реБрд░реБрдЖрдд
inline void SetX( float val ); inline void SetY( float val ); inline void SetZ( float val ); inline void SetW( float val ); inline void Init( float ix=0, float iy=0, float iz=0, float iw = 0 ) { SetX( ix ); SetY( iy ); SetZ( iz ); SetZ( iw ); }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V525 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: networkvar.h 455ред
рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛:
{ SetX( ix ); SetY( iy ); SetZ( iz ); SetW( iw ); }
рдЕрдВрддрд┐рдо рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред
рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд╛ рдирддреАрдЬрд╛
class ALIGN16 FourVectors { public: fltx4 x, y, z; .... }; FourVectors BackgroundColor; void RayTracingEnvironment::RenderScene(....) { .... intens.x=OrSIMD(AndSIMD(BackgroundColor.x,no_hit_mask), AndNotSIMD(no_hit_mask,intens.x)); intens.y=OrSIMD(AndSIMD(BackgroundColor.y,no_hit_mask), AndNotSIMD(no_hit_mask,intens.y)); intens.z=OrSIMD(AndSIMD(BackgroundColor.y,no_hit_mask), AndNotSIMD(no_hit_mask,intens.z)); .... }
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
V537 рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: рдЯреНрд░реЗрд╕2.cpp 189ред
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рдХреЛрдб рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рджреЗрдЦреЗрдВ, рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ 'x' рдирд╛рдо рдХреЗ рд╡рд░реНрдЧ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рджреВрд╕рд░реЗ рдореЗрдВ, 'y' рдирд╛рдо рдХреЗ рд╕рд╛рдеред рдФрд░ рддреАрд╕рд░реЗ рдореЗрдВ 'z' рдФрд░ 'y' рджреЛрдиреЛрдВ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
intens.z=OrSIMD(AndSIMD(BackgroundColor.z,no_hit_mask), AndNotSIMD(no_hit_mask,intens.z));
рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛
void GetFPSColor( int nFps, unsigned char ucColor[3] ) { .... int nFPSThreshold1 = 20; int nFPSThreshold2 = 15; if (IsPC() && g_pMaterialSystemHardwareConfig->GetDXSupportLevel() >= 95) { nFPSThreshold1 = 60; nFPSThreshold1 = 50; } .... }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V519 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: vgui_fpspanel.cpp 192ред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛:
nFPSThreshold1 = 60; nFPSThreshold2 = 50;
рдмреБрд░рд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗрд╡рд╛рд▓рд╛
CAI_ShotRegulator::CAI_ShotRegulator() : m_nMinBurstShots(1), m_nMaxBurstShots(1) { m_flMinRestInterval = 0.0f; m_flMinRestInterval = 0.0f; m_flMinBurstInterval = 0.0f; m_flMaxBurstInterval = 0.0f; m_flNextShotTime = -1; m_nBurstShotsRemaining = 1; m_bInRestInterval = false; m_bDisabled = false; }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V519 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: ai_utils.cpp 49ред
рдлрд┐рд░ рд╕реЗ рдПрдХ рдЯрд╛рдЗрдкреЛ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг:
- рдЪрд░ m_flMinRestInterval рджреЛ рдмрд╛рд░ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рд╡реИрд░рд┐рдПрдмрд▓ m_flMaxRestInterval рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреНрд▓рд╛рд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕ CEnvTonemapController, CBasePlayerAnimState рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рдкрд░реЗрд╢рд╛рдиреА рд╣реИред рд▓реЗрдХрд┐рди рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЙрдмрд╛рдК рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рдВрдмрдВрдзрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрд╡реЗрджрди рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ (рд▓реЗрдЦ рдХрд╛ рдЕрдВрдд рджреЗрдЦреЗрдВ)ред
рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░
рдпреМрдЧрд┐рдХ рднрд╛рд╡
int m_nNewSequenceParity; int m_nResetEventsParity; void C_BaseAnimating::ResetSequenceInfo( void ) { .... m_nNewSequenceParity = ( ++m_nNewSequenceParity ) & EF_PARITY_MASK; m_nResetEventsParity = ( ++m_nResetEventsParity ) & EF_PARITY_MASK; .... }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
V567 рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: c_baseanimating.cpp 5301, 5302ред
рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдпрд╣рд╛рдБ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЪрд░ рдХрд╛ рдорд╛рди 'm_nResetEventsParity' рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рдд рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рд╡рд░рдг рдореЗрдВ рдмрд╣реБрдд рд╕рдорд╛рди рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред
рдмрджрд▓рд╛рд╡
inline void SetStyleType( int w, int h, int type ) { Assert( type < NUM_EDGE_STYLES ); Assert( type >= 0 );
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V610 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: c_func_breakablesurf.cpp 157ред
рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╢рд┐рдлреНрдЯ рдХрд░рдиреЗ рд╕реЗ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдХреЛрдб рдореЗрдВ, рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ '~ 0x03' рд╣реИред рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ, рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ "
рдХрд╛рдВрдЯрд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рдкрд╛рдиреА рдореЗрдВ рдирд╣реАрдВред рднрд╛рдЧ рддреАрди ред"
рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдЧреБрдо рд╣реИ
class CFlashlightEffect { .... ~CFlashlightEffect(); .... }; class CHeadlightEffect : public CFlashlightEffect { .... }; CFlashlightEffect *m_pFlashlight; C_BasePlayer::~C_BasePlayer() { .... delete m_pFlashlight; }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V599 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: c_baseplayer.cpp 454ред
рдПрдХ рд╡рд░реНрдЧ CFlashlightEffect рд╣реИред рдЗрд╕рдХрд╛ рдХреЛрдИ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, CHeadlightEffect рд╡рд░реНрдЧ рдЗрд╕ рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЙрддреНрдкрдиреНрди рдкрд░рд┐рдгрд╛рдо, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рдЕрдВрдХрдЧрдгрд┐рдд
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реНрдерд╛рди рд╣реИрдВ рдЬрд╣рд╛рдВ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░ рдФрд░ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдмрд┐рдВрджреБ рдкреНрд░рдХрд╛рд░ рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рд╕рдВрдпреБрдХреНрдд рд╣реИрдВред рдпрд╣ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рдЧрдгрдирд╛рдПрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реЛрдВрдЧреА рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдПрдВрдЧреАред рдореИрдВ рдХреЗрд╡рд▓ 3 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдиреАрдЪреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реВрдВрдЧрд╛ред рд╢реЗрд╖ рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдРрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкрд╣рд▓рд╛ рд╕рдВрджрд┐рдЧреНрдз рдЯреБрдХрдбрд╝рд╛
void TE_BloodStream(....) { .... int speedCopy = amount; .... speedCopy -= 0.00001;
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V674 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: c_te_bloodstream.cpp 141ред
0.00001 рдХреЛ 'int' рдХреЗ рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рд╕реЗ рдШрдЯрд╛рдпрд╛ рдЬрд╛рдирд╛ рдмрд╣реБрдд рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рд╣реИред
рджреВрд╕рд░рд╛ рд╕рдВрджрд┐рдЧреНрдз рдЯреБрдХрдбрд╝рд╛
#define ON_EPSILON 0.1 void CPrediction::SetIdealPitch (....) { int step; .... step = floor_height[j] - floor_height[j-1]; if (step > -ON_EPSILON && step < ON_EPSILON) continue; .... }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
V674 рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: prediction.cpp 977ред
рдЪрд░ рдкреНрд░рдХрд╛рд░ 'рдЪрд░рдг' рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪрдпрдирд┐рдд рдирд╣реАрдВ рд╣реИред
рддреАрд╕рд░рд╛ рд╕рдВрджрд┐рдЧреНрдз рдЯреБрдХрдбрд╝рд╛
virtual int GetMappingWidth( ) = 0; virtual int GetMappingHeight( ) = 0; void CDetailObjectSystem::LevelInitPreEntity() { .... float flRatio = pMat->GetMappingWidth() / pMat->GetMappingHeight(); .... }
PVS-Studio рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V636 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: detailobjectsystem.cpp 1480ред
рд╢рд╛рдпрдж рдпрд╣ рдЪрд░ 'flRatio' рдХреЗ рдореВрд▓реНрдп рдХреА рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдХрдо рд╕рдЯреАрдХрддрд╛ рдХрд╛ рдХрд╛рд░рдг рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди рд╣реИред рд╕рдЯреАрдХрддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
float flRatio = static_cast<float>(pMat->GetMappingWidth()) / pMat->GetMappingHeight();
рдЕрдиреЗрдХ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣
рдкреНрд░рдХрд╛рд░ рднреНрд░рдо
enum PhysGunPickup_t { PICKED_UP_BY_CANNON, PUNTED_BY_CANNON, PICKED_UP_BY_PLAYER, }; enum PhysGunDrop_t { DROPPED_BY_PLAYER, THROWN_BY_PLAYER, DROPPED_BY_CANNON, LAUNCHED_BY_CANNON, }; void CBreakableProp::OnPhysGunDrop(...., PhysGunDrop_t Reason) { .... if( Reason == PUNTED_BY_CANNON ) { PlayPuntSound(); } .... }
PVS- рд╕реНрдЯреВрдбрд┐рдпреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА
V556 рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: 1520 props.cppред
рдЪрд░ 'рдХрд╛рд░рдг' PhysGunDrop_t рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИред рдФрд░ 'PUNTED_BY_CANNON' 'PhysGunPickup_t' рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╕рдВрднрд╛рд╡рд┐рдд рдЦрддрд░рдирд╛рдХ fprintf
static void Exit(const char *msg) { fprintf( stderr, msg ); Pause(); exit( -1 ); }
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ
V618 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: рд╡рд╛рдЗрд╕ 52 рдкреАрдкреАред
'Fprintf ()' рдлрдВрдХреНрд╢рди рдХрд╛рдлреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЦрддрд░рдирд╛рдХ рд╣реИред рдпрджрд┐ рдирд┐рдпрдВрддреНрд░рдг рд╡рд░реНрдг рдЧрд▓рддреА рд╕реЗ рдпрд╛ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ 'msg' рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛрдВрдЧреЗред
рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЯрд┐рдкреНрдкрдгреА: "
рдмрд┐рдирд╛ рдХрд╛рдВрдЯреЗ рдХреЛ рдЬрд╛рдиреЗ, рдкрд╛рдиреА рдореЗрдВ рдирд╣реАрдВ рдЙрддрд░реЗрдВред рднрд╛рдЧ рджреЛ ред"
рдХреЛрдб рдХрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕реНрдХрд░рдг:
fprintf( stderr, "%s", msg );
рдЖрд╡реЗрджрди
рдЕрдиреНрдп рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ, рдЬреЛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ, рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реЛрдВрдЧреАред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕ рд╕реВрдЪреА рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рддрд╣реА рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдФрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗ рд╕рдХрд╛ред рд╕рд╛рде рд╣реА, рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓рд╛рдн рдЗрд╕рдХрд╛ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧ рд╣реИ, рди рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХрдореБрд╢реНрдд рд╕рддреНрдпрд╛рдкрдиред
рдЕрдиреНрдп рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдерд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА:
source-sdk-addition-log.txtрдирд┐рд╖реНрдХрд░реНрд╖
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рд╕реНрд░реЛрдд рдПрд╕рдбреАрдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рдерд╛ред