
рдореИрдВ рдЕрдЧрд▓реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрдИ рдмрд╛рд░ рд╣реИрд░рд╛рди рд░рд╣ рдЧрдпрд╛ред рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд░рд╣ рд░рд╣реА рд╣реИрдВред рдЖрдк рдХреЛрдб рдореЗрдВ рдПрдХ рд╕реМ рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдЖрд╢реНрдЪрд░реНрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЖрдо рддреМрд░ рдкрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЙрд╕ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдЧреЗрдо рдореЗрдВ рдкреЛрдХреЗрдореЙрди рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧрдгрд┐рддреАрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рд╣рд╛рдВ, рдЖрдкрдиреЗ рд╕рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ред рдпрд╣ рд▓реЗрдЦ рд╕рд┐рд▓рд╛рдм рдЧрдгрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред
рд╕рд╛рдЗрд▓реИрдм
рдЖрдЬ рд╣рдо Scilab рдЧрдгрд┐рдд рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рдЕрдВрд╢реЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рд┐рд▓рд╛рдм рд▓рд╛рдЧреВ рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ рдЬреЛ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ (рддрдХрдиреАрдХреА) рдФрд░ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдЧрдгрдирд╛ [
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ ] рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЦреБрд▓рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ:
http://www.scilab.org/рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрдИ рдЙрдкрдХрд░рдг рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
- 2 рдбреА рдФрд░ 3 рдбреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рдПрдиреАрдореЗрд╢рди;
- рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд, рд╡рд┐рд░рд▓ рдореИрдЯреНрд░рд┐рд╕;
- рдмрд╣реБрдкрдж рдФрд░ рддрд░реНрдХрд╕рдВрдЧрдд рдХрд╛рд░реНрдп;
- рдкреНрд░рдХреНрд╖реЗрдк, рд╕рдиреНрдирд┐рдХрдЯрди;
- рд╕рд┐рдореБрд▓реЗрд╢рди: ODE рдФрд░ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рд╣рд▓ рдХрд░рдирд╛;
- рд╕реНрдХрд┐рдХреЛрд╕: рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдФрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХрд░ рдкреНрд░рдгрд╛рд▓реА;
- рдЕрдВрддрд░ рдФрд░ рдЧреИрд░-рдЕрдВрддрд░ рдЕрдиреБрдХреВрд▓рди;
- рд╕рдВрдХреЗрдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг;
- рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рдо;
- рдЖрдВрдХрдбрд╝реЗ;
- рдХрдВрдкреНрдпреВрдЯрд░ рдмреАрдЬрдЧрдгрд┐рдд рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛;
- рдлреЛрд░рдЯреНрд░рд╛рди, Tcl / Tk, C, C ++, Java, LabVIEW рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред
рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдУред рд▓реЗрдЦ рд▓рдВрдмрд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдореЗрд░реА рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЧрдВрджреЗ рдЪрд╛рд▓ рд╣реИрдВред рдФрд░ рдореИрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдЧреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдмреЗрд╢рдХ, рдЬреЛ рдХрдорд┐рдпрд╛рдВ рдкрд╛рдИ рдЧрдИ рд╣реИрдВ, рд╡реЗ рдЧрдгрд┐рдд рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рд╢рд╛рдпрдж рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╕рднреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕рд╣реА рдФрд░ рдХреБрд╢рд▓ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЪреВрдВрдХрд┐ C ++ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯрд╛рдЗрдкреЛ, рд╢реВрдиреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреА рдбреАрдлреНрд░реЗрдВрд╕рд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рдЧрд▓рддрд┐рдпрд╛рдБ рднреА рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдпрджрд┐ рд╡рд╣ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рд╡рд╣ рдПрдХ рдЕрдиреИрддрд┐рдХ рдпрд╛рддреНрд░рд╛ рдЪрд░ рдХрд╛ рд╢рд┐рдХрд╛рд░ рдмрди рдЬрд╛рддрд╛ рд╣реИред
рд╣рд╛рдВ, рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╡реЗ рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЦреБрдж рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реБрдЦ рд╕реЗ рд╡рдВрдЪрд┐рдд рдХрд░реЗрдВред рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдФрд░ 10% рдареАрдХ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рднреА рдареАрдХ рдирд╣реАрдВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рддреЛ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдореБрдЭреЗ рд╕рд┐рд▓рд╛рдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдмрддрд╛рдпрд╛ред
рдмрдлрд░ рдЬреЛ рдирд╣реАрдВ рд╣реИ

int sci_champ_G(....) { .... char * strf = NULL ; .... if ( isDefStrf( strf ) ) { char strfl[4]; strcpy(strfl,DEFSTRFN); strf = strfl; if ( !isDefRect( rect ) ) { strf[1]='5'; } } (*func)(stk(l1), stk(l2), stk(l3), stk(l4), &m3, &n3, strf, rect, arfact, 4L); .... }
PVS- рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕рдВрджреЗрд╢: V507 рдкреЙрдЗрдВрдЯрд░ рдЯреВ рд▓реЛрдХрд▓ рдРрд░реЗ 'рд╕реНрдЯреНрд░рдлреНрд▓' рдЗрд╕ рдПрд░реЗ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╣реИред рдРрд╕рд╛ рдкреЙрдЗрдВрдЯрд░ рдЕрдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред Sci_champ.c 103
рдЕрд╕реНрдерд╛рдпреА рд╕рд░рдгреА 'strfl' рдХрд╛ рд╕рдВрджрд░реНрдн рдЪрд░ 'strf' рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред "рдпрджрд┐ () {...}" рдмреНрд▓реЙрдХ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╕рдордп, рдпрд╣ рд╕рд░рдгреА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкреНрд░реЛрдЧреНрд░рд╛рдо 'strf' рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИред рдЖрдк рдЙрд╕ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬреЛ рдЕрдм рдирд╣реАрдВ рд╣реИред рдмреЗрд╢рдХ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рдлреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рднрд╛рдЧреНрдп рд╣реИред рдореЗрдореЛрд░реА рдЬрд╣рд╛рдВ рд╕рд░рдгреА рдХрд┐рд╕реА рднреА рд╕рдордп рд╕реНрдерд┐рдд рдереА, рдЙрд╕реЗ рдЕрдиреНрдп рд╕рд░рдгрд┐рдпреЛрдВ рдпрд╛ рдЪрд░ рдХреЗ рднрдВрдбрд╛рд░рдг рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ:
- рдЕрд░реНрд░реЗ 'рд╕реНрдЯреНрд░рдлреНрд▓ тАЩред Sci_fec.c 111
- рдЕрд░реНрд░реЗ 'рд╕реНрдЯреНрд░рдлреНрд▓ тАЩред Sci_grayplot.c 94
- рдЕрд░реНрд░реЗ 'рд╕реНрдЯреНрд░рдлреНрд▓ тАЩред Sci_matplot.c 84
рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рдереА
int C2F(pmatj) (char *fname, int *lw, int *j, unsigned long fname_len) { .... ix1 = il2 + 4; m2 = Max(m, 1); ix1 = il + 9 + m * n; .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V519 'ix1' рдЪрд░ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджреЛ рдмрд╛рд░ рдорд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 2387, 2389. stack1.c 2389
Ix1 рдЪрд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЯрд╛рдЗрдкреЛ рд╣реИред
рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╕рддреНрдпрд╛рдкрди, рдлрд┐рд░ рдЖрд░рдВрднреАрдХрд░рдг

рдХреЛрдб рдХрд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЯреБрдХрдбрд╝рд╛ред рдЖрдкрдХреЛ рдХреБрдЫ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЬрд╛рдВрдЪреЗрдВред рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рджреВрд╕рд░реЗ рд░рд╛рд╕реНрддреЗ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред
int sci_Playsound (char *fname,unsigned long fname_len) { .... int m1 = 0, n1 = 0; .... if ( (m1 != n1) && (n1 != 1) ) { Scierror(999,_("%s: Wrong size for input argument #%d: ") _("A string expected.\n"),fname,1); return 0; } sciErr = getMatrixOfWideString(pvApiCtx, piAddressVarOne, &m1,&n1,&lenStVarOne, NULL); .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ: V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ: (m1! = N1)ред Sci_playsound.c 66; V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: (n1! = 1)ред Sci_playsound.c 66
Variables m1 рдФрд░ n1 рдХреЛ getMatrixOfWideString () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдорд╛рди рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░ рдЗрди рдЪрд░реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реБрдЖ рдХрд┐ getMatrixOfWideString () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рдордп, рдЪрд░ m1 рдФрд░ n1 0. рд╣реИрдВ "рд╢рд░реНрдд (рдпрджрд┐ (m1! = N1) && (n1! = 1))" рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдирддреАрдЬрддрди, рд╕рддреНрдпрд╛рдкрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдХреБрд▓ред рдЪрд░ m1 рдФрд░ n1 рдХреА рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред
рдореИрдЬрд┐рдХ рдирдВрдмрд░

void CreCommon(f,var) FILE *f; VARPTR var; { .... if ( strncmp(var->fexternal, "cintf", 4)==0 ) .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V666 'strncmp' рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддреАрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдорд╛рди рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред crerhs.c 119
рдЬрд╛рджреВ рдирдВрдмрд░ 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдЧрд▓рдд рд╣реИред Cintf рд▓рд╛рдЗрди рдореЗрдВ рдкрд╛рдБрдЪ рд╡рд░реНрдг рд╣реИрдВ, рдЪрд╛рд░ рдирд╣реАрдВред рдРрд╕реЗ рдореИрдЬрд┐рдХ рдирдВрдмрд░реЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рди рдХрд░реЗрдВред
рдореИрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореИрдЧрд▓реНрд╕ рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдореИрдХреНрд░реЛ рдмрдирд╛рдКрдВрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛:
if ( strncmp(var->fexternal, "cintf", litlen("cintf"))==0 )
рдореИрдХреНрд░реЛ 'рд▓рд┐рдЯрд▓реАрди' рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рд╣рдо рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣рд░ рд╕реНрд╡рд╛рдж рдХреЗ рдЕрдиреБрд░реВрдк рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рд╣реИред
рдЕрдиреНрдп рдЧрд▓рдд рдкрдВрдХреНрддрд┐ рдЖрдХрд╛рд░:
- crerhs.c 121
- crerhs.c 123
- crerhs.c 125
- crerhs.c 127
1, 2, 3, 4, 4, 6

int C2F(run)(void) { .... static int *Lpt = C2F(iop).lpt - 1; .... Lpt[1] = Lin[1 + k]; Lpt[2] = Lin[2 + k]; Lpt[3] = Lin[3 + k]; Lpt[4] = Lin[4 + k]; Lct[4] = Lin[6 + k ]; Lpt[6] = k; .... }
рдЪреЗрддрд╛рд╡рдиреА PVS-Studio: V525 рд╕рдорд╛рди рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рд╡рд╛рд▓рд╛ рдХреЛрдбред рдЖрдЗрдЯрдо '1', '2', '3', '4', '4' рдХреЛ 1005, 1006, 1007, 1008, 1009 рдореЗрдВ рдЪреЗрдХ рдХрд░реЗрдВред run.c 1005
рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛред рдирддреАрдЬрддрди, рд╕рд░рдгреА рдХрд╛ рдПрдХ рддрддреНрд╡ рдЕрдирдЗрдВрд╕реНрдЯрд╛рд▓реНрдпреВрдЯреЗрдб рд░рд╣реЗрдЧрд╛ред рдЖрдк рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░реЛрдЪрдХ рдЧрдгрд┐рддреАрдп рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреЛрдб рд╡рд┐рдХрд╛рд╕

int write_xml_states( int nvar, const char * xmlfile, char **ids, double *x) { .... FILE *fd = NULL; .... wcfopen(fd, (char*)xmlfile, "wb"); if (fd < 0) { sciprint(_("Error: cannot write to '%s' \n"), xmlfile); .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V503 рдпрд╣ рдПрдХ рдирд┐рд░рд░реНрдердХ рддреБрд▓рдирд╛ рд╣реИ: рд╕реВрдЪрдХ <0ред Scicos.c 5826
рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдХреЛрдб рдореЗрдВ рдПрдХ рдмрд╛рд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдлрд┐рд░, рд╣рдордиреЗ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдФрд░
_wfopen рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдЙрд╕рдХреА рдХреЙрд▓ 'wcfopen' рдореИрдХреНрд░реЛ рдореЗрдВ рдЫрд┐рдкреА рд╣реБрдИ рд╣реИред
рд▓реЗрдХрд┐рди рд╡реЗ рдЬрд╛рдВрдЪ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рднреВрд▓ рдЧрдП рдХрд┐ рдлрд╛рдЗрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЦреЛрд▓реА рдЧрдИ рдереАред рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЦреБрд▓рд╛ () рдлрд╝рдВрдХреНрд╢рди -1 рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕реВрдЪрдХ рд╢реВрдиреНрдп рд╕реЗ рдХрдо рд╣реИ, рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрд░реНрде рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред
рдПрдХ рдФрд░ рдЬрдЧрд╣ рдЬрд╣рд╛рдВ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
void taucs_ccs_genmmd(taucs_ccs_matrix* m, int** perm, int** invperm) { int n, maxint, delta, nofsub; .... maxint = 32000; assert(sizeof(int) == 4); maxint = 2147483647; .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V519 'рдореИрдХреНрд╕рд┐рдореЗрдВрдЯ' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджреЛ рдмрд╛рд░ рдорд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 154, 157. taucs_scilab.c 157
рдпрд╣рд╛рдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдордЬрд╛рдХрд┐рдпрд╛ рд╣реИред
рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ, рдпрд╣ "рдореИрдХреНрд╕рд┐рдВрдЯ = 32000" рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдлрд┐рд░ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛:
assert(sizeof(int) == 4); maxint = 2147483647;
рдПрдХ рдЖрдЗрдЯрдо рд╕реЙрд░реНрдЯ рдХрд░реЗрдВ

char *getCommonPart(char **dictionary, int sizeDictionary) { .... char *currentstr = dictionary[0]; qsort(dictionary, sizeof dictionary / sizeof dictionary[0], sizeof dictionary[0], cmp); .... }
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА: V514 рдПрдХ рдФрд░ рдорд╛рди рджреНрд╡рд╛рд░рд╛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ 'рдЖрдХрд╛рд░ рдХрд╛ рд╢рдмреНрджрдХреЛрд╢' рдЖрдХрд╛рд░ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред getcommonpart.c 76
рдХреНрд╖рд╛рд░ () рдореЗрдВ рджреВрд╕рд░рд╛ рддрд░реНрдХ рд╕рд░рдгреА рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг, рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреА рд╣реИред
"рдЖрдХрд╛рд░ рд╢рдмреНрджрдХреЛрд╢ / рдЖрдХрд╛рд░ рд╢рдмреНрджрдХреЛрд╢" [0] рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд╕рд╛рдЗрдЬрд╝ рдХреЛ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╣реИред
рд╕рдВрднрд╡рддрдГ рд╕рд╣реА рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛:
qsort(dictionary, sizeDictionary, sizeof dictionary[0], cmp);
рдпрд╣рд╛рдБ рднреА рдРрд╕реА рд╣реА рддреНрд░реБрдЯрд┐ рд╣реИ: getfilesdEDIA.c 105
рдЬрд┐рджреНрджреА рддрд╛рд░
void GetenvB(char *name, char *env, int len) { int ierr = 0, one = 1; C2F(getenvc)(&ierr,name,env,&len,&one); if (ierr == 0) { char *last = &env[len-1]; while ( *last == ' ' ) { last = '\0' ; } last--; } .... }
V527 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ '' 0 '' рдорд╛рди рдХреЛ 'char' рдкреНрд░рдХрд╛рд░ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдВрднрд╡рддрдГ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ: * рдЕрдВрддрд┐рдо = '\ 0'ред getenvb.c 24
рдпрд╣ рд▓рд╛рдЗрди рдмрд╣реБрдд рд╣реА рднрдпрд╛рдирдХ рд╣реИред рдпрд╛ рд╕реБрдВрджрд░ рдЕрдЧрд░ рд╣рдо рджрд┐рд▓рдЪрд╕реНрдк рдЧрд▓рддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
while ( *last == ' ' ) { last = '\0' ; }
рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд╣рд▓рд╛ рд╡рд░реНрдг рдПрдХ рд╕реНрдерд╛рди рд╣реИ, рддреЛ рд╕реВрдЪрдХ рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рдЕрд╢рдХреНрдд рд╕реВрдЪрдХ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛрдЧрд╛ред
рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдХреЛрдб рдХреЛ рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреЛ '\ 0' рд╕реЗ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдлрд┐рд░ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
while ( *last == ' ' ) { *last++ = '\0' ; }
рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рдПрдХ рдФрд░ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╡реЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рд╢реВрдиреНрдп рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдФрд░ рд╡рд╣ рднреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрд╛ред
static int msg_101(int *n, int *ierr) { .... for (i=0;i<(int)strlen(line);i++) { if (line[i]==' ') line[i]='\0'; break; } .... }
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА: рд╡реА 612 рдПрдХ рд▓реВрдк рдХреЗ рднреАрддрд░ рдмрд┐рдирд╛ рд╢рд░реНрдд 'рдмреНрд░реЗрдХ'ред рд╕рдВрджреЗрд╢рд╡рд╛рд╣рдХ 1293
рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдпрд╣ рдмреНрд░реЗрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдереЗред рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдерд╛рди рдмрджрд▓рд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, 'рдмреНрд░реЗрдХ' рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред рд╕реНрдЯреНрд░рд▓реЗрди () рдлрд╝рдВрдХреНрд╢рди рд╢реВрдиреНрдп рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд▓реВрдк рд╡реИрд╕реЗ рднреА рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╕рдорд╛рди "рд╡рди-рдЯрд╛рдЗрдо" рдЪрдХреНрд░:
- V612 рд▓реВрдк рдХреЗ рднреАрддрд░ рдмрд┐рдирд╛ рд╢рд░реНрдд 'рдмреНрд░реЗрдХ'ред рд╕рдВрджреЗрд╢рд╡рд╛рд╣рдХ 1313
- V612 рд▓реВрдк рдХреЗ рднреАрддрд░ рдмрд┐рдирд╛ рд╢рд░реНрдд 'рдмреНрд░реЗрдХ'ред api_common.cpp 1407
рдПрдХ рдЕрд╢рдХреНрдд рд╕реВрдЪрдХ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛

char **splitLineCSV(....) { .... if (retstr[curr_str] == NULL) { *toks = 0; FREE(substitutedstring); substitutedstring = NULL; freeArrayOfString(retstr, strlen(substitutedstring)); return NULL; } .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V575 рд╢реВрдиреНрдп рд╕реВрдЪрдХ 'strlen' рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред рд╡рд┐рднрд╛рдЬрдиред резреж.c
рдЕрдЬреАрдм рдХреЛрдбред рд╢реБрд░реБрдЖрдд рдореЗрдВ, 'рд╕рдмреНрд╕реНрдЯреАрдЯреНрдпреВрдЯреЗрдбрд╕реНрдЯреНрд░рд┐рдВрдЧ' рдкреЙрдЗрдВрдЯрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд╢рдХреНрдд рдерд╛ред рдлрд┐рд░, рдЗрд╕реЗ рд╕реНрдЯреНрд░рд▓реЗрди () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЯреБрдХрдбрд╝реЗ рдЯреБрдХрдбрд╝реЗ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, freeArrayOfString () рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдХреЙрд▓ рдореБрдлрд╝реНрдд () рдХреЙрд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдПрдХ рдЧрд░реНрдордЬреЛрд╢реА рдереАред рдЕрдм рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдорд╛рдорд▓реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
inline static void create(void * pvApiCtx, const int position, const int rows, const int cols, long long * ptr) { int * dataPtr = 0; alloc(pvApiCtx, position, rows, cols, dataPtr); for (int i = 0; i < rows * cols; i++) { dataPtr[i] = static_cast<int>(ptr[i]); } }
V522 рд╢реВрдиреНрдп рдкреЙрдЗрдВрдЯрд░ рдХреА 'рдбреЗрдЯрд╛рдкрд╛рд░реНрдЯ' рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред scilababbridmemoryallocator.hxx 222
рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╡реЗ рдЖрд╡рдВрдЯрд┐рдд () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рддрд░реНрдХ 'dataPtr' рдХрд╛ рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдмрдлрд░ рдХреЛ рдПрдХ рд╕реВрдЪрдХ рдЗрд╕рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред
рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реИ рдирд╣реАрдВред рдкреЙрдЗрдВрдЯрд░ рд╢реВрдиреНрдп рд░рд╣реЗрдЧрд╛ред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ рдЖрд╡рдВрдЯрди () рдлрд╝рдВрдХреНрд╢рди рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
inline static int *alloc( void * pvApiCtx, const int position, const int rows, const int cols, int * ptr)
рджреЗрдЦрд┐рдП, рдЖрдЦрд┐рд░реА рддрд░реНрдХ рдХреЛрдИ рдХрдбрд╝реА рдирд╣реАрдВ рд╣реИред рд╡реИрд╕реЗ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдЖрд╡рдВрдЯрди рдХреЗ рдЕрдВрджрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ () рдлрд╝рдВрдХреНрд╢рди:
inline static int *alloc( void * pvApiCtx, const int position, const int rows, const int cols, int * ptr) { int * _ptr = 0; SciErr err = allocMatrixOfInteger32( pvApiCtx, position, rows, cols, &_ptr); checkError(err); return _ptr; }
'Ptr' рдХреЗ рдЕрдВрддрд┐рдо рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреЛрдб рдЧрд▓рдд рд╣реИред рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
inline static void create(void * pvApiCtx, const int position, const int rows, const int cols, long long * ptr) { int *dataPtr = alloc(pvApiCtx, position, rows, cols, 0); for (int i = 0; i < rows * cols; i++) { dataPtr[i] = static_cast<int>(ptr[i]); } }
рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐:
- scilababbridmemoryallocator.hxx 237
- scilababbridmemoryallocator.hxx 401
рдЧрд▓рдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢
PVS- рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЕрдХреНрд╕рд░ рддреНрд░реБрдЯрд┐ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдореЗрдВ рдЯрд╛рдЗрдкреЛрд╕ рдкрд╛рддрд╛ рд╣реИред рдЗрд╕ рдХреЛрдб рдХреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд┐рд╕реА рдХрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг, рд╣рдо рдЕрдХреНрд╕рд░ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрд╕рдВрджреЗрд╢ рд╕рддреНрдп рдирд╣реАрдВ рд╣реИред
рдПрдХ рдЧрд▓рдд рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреАрдврд╝реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
static SciErr fillCommonSparseMatrixInList(....) { .... addErrorMessage(&sciErr, API_ERROR_FILL_SPARSE_IN_LIST, _("%s: Unable to create list item #%d in Scilab memory"), _iComplex ? "createComplexSparseMatrixInList" : "createComplexSparseMatrixInList", _iItemPos + 1); .... }
PVS- рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕рдВрджреЗрд╢: V583 '?:' рд╕рдВрдЪрд╛рд▓рдХ, рдЪрд╛рд╣реЗ рдЙрд╕рдХреА рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдПрдХ рд╣реА рдореВрд▓реНрдп рджреЗрддрд╛ рд╣реИ: "createComplexSparseMatrixInList"ред api_list.cpp 2398
рдЪрд░ '_iComplex' рдХреЗ рдорд╛рди рдХреЗ рдмрд╛рд╡рдЬреВрдж, "createComplexSparseMatrixInList" рд╣рдореЗрд╢рд╛ рдореБрджреНрд░рд┐рдд рд░рд╣реЗрдЧрд╛ред
рдЗрд╕реА рддрд░рд╣:
- api_list.cpp 2411
- api_list.cpp 2418
- api_list.cpp 2464
- api_list.cpp 2471
рдЕрдм рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдХрднреА рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ:
#define __GO_FIGURE__ 9 #define __GO_UIMENU__ 21 int sci_uimenu(char *fname, unsigned long fname_len) { .... if (iParentType == __GO_FIGURE__ && iParentType == __GO_UIMENU__) { Scierror(999, _("%s: Wrong type for input argument #%d: ") _("A '%s' or '%s' handle expected.\n"), fname, 1, "Figure", "Uimenu"); return FALSE; } .... }
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА: V547 рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 'iParentType == 9 && iParentType == 21' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИред рд╢рд╛рдпрдж '||' рдСрдкрд░реЗрдЯрд░ рдХреЛ рдпрд╣рд╛рдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред Sci_uimenu.c 99
рд╕реНрдерд┐рддрд┐ (iParentType == __GO_FIGURE__ && iParentType == __GO_UIMENU__) рдХрднреА рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдПрдХ рдЪрд░ рдПрдХ рд╕рд╛рде рд╕рдВрдЦреНрдпрд╛ 9 рдФрд░ рд╕рдВрдЦреНрдпрд╛ 21 рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдпрд╣рд╛рдВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ:
if (iParentType != __GO_FIGURE__ && iParentType != __GO_UIMENU__)
рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореАрдард╛ рдЙрджрд╛рд╣рд░рдгред
int set_view_property(....) { BOOL status = FALSE; .... status = setGraphicObjectProperty( pobjUID, __GO_VIEW__, &viewType, jni_int, 1); if (status = TRUE) { return SET_PROPERTY_SUCCEED; } else { Scierror(999, _("'%s' property does not exist ") _("for this handle.\n"), "view"); return SET_PROPERTY_ERROR ; } .... }
PVS- рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА: V559 'if' рдСрдкрд░реЗрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрдВрджрд░ рд╕рдВрджрд┐рдЧреНрдз рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ: status = 1. set_view_property.c 61
рдпрд╣рд╛рдБ рддреНрд░реБрдЯрд┐ рд╣реИ: "рдЕрдЧрд░ (рд╕реНрдерд┐рддрд┐ = рд╕рд╣реА)"ред рддреБрд▓рдирд╛ рдХреЗ рдмрдЬрд╛рдп, рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИред
рдкрд╕рдВрдж рдХрд╛ рдЕрднрд╛рд╡

рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╡реЗ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдХреБрдЫ рддрдп рдХрд░рдирд╛ рднреВрд▓ рдЧрдП рдереЗред
static int uf_union (int* uf, int s, int t) { if (uf_find(uf,s) < uf_find(uf,t)) { uf[uf_find(uf,s)] = uf_find(uf,t); return (uf_find(uf,t)); } else { uf[uf_find(uf,s)] = uf_find(uf,t); return (uf_find(uf,t)); } }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V523 'рддрддреНрдХрд╛рд▓реАрди' рдХрдерди 'рдФрд░' рдХрдерди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред taucs_scilab.c 700
рд╢рд░реНрдд рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдЕрдм рд╕реНрдерд┐рддрд┐ рдЕрд▓рдЧ рд╣реИред рдпрд╣рд╛рдВ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╕рдорд╛рди рд╣реИрдВ:
int sci_xset( char *fname, unsigned long fname_len ) { .... else if ( strcmp(cstk(l1), "mark size") == 0) .... else if ( strcmp(cstk(l1), "mark") == 0) .... else if ( strcmp(cstk(l1), "mark") == 0) .... else if ( strcmp(cstk(l1), "colormap") == 0) .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V517 'if (A) {...} рдХрд╛ рдЙрдкрдпреЛрдЧ if (A) {...}' рдкреИрдЯрд░реНрди рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЪреЗрдХ рд▓рд╛рдЗрди: 175, 398ред Sci_xset.c 175
рдХрдИ рдФрд░ рдЧрд▓рдд рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реИрдВ:
- Sci_xset.c 159
- h5_readdatafromfile_v1.c 1148
- h5_readdatafromfile.c 1010
рдХреНрд▓рд╛рд╕рд┐рдХ
рд╢рд╛рдпрдж рдореИрдВрдиреЗ рд╕реА / рд╕реА ++ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдо рдЧрдбрд╝рдмрдбрд╝реА рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╢реВрдиреНрдп рдХреА рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреБрд░реВрдкрддрд╛, рдпрд╣ рдХреБрд░реВрдкрддрд╛ рд╣реИред
static void appendData(....) { .... sco_data *sco = (sco_data *) * (block->work); int maxNumberOfPoints = sco->internal.maxNumberOfPoints; int numberOfPoints = sco->internal.numberOfPoints; if (sco != NULL && numberOfPoints >= maxNumberOfPoints) .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V595 nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'sco' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 305, 311. canimxy3d.c 305
рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдкреЙрдЗрдВрдЯрд░ 'рд╕реНрдХреВ' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХреНрд╕реЗрд╕ рдХрд┐рдП рдЧрдП рд╕рджрд╕реНрдп:
int maxNumberOfPoints = sco->internal.maxNumberOfPoints; int numberOfPoints = sco->internal.numberOfPoints;
рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЕрдЪрд╛рдирдХ рдпрд╛рдж рдЖрдпрд╛ рдХрд┐ рдЗрд╕ рд╕реВрдЪрдХ рдХреЛ рдЬрд╛рдБрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
if (sco != NULL .....
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдПрдХ рдФрд░ 61 рд╡реА 595 рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХреАред рд▓реЗрдЦ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдмрд╛рдд рдирд╣реАрдВ рджрд┐рдЦрддреАред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рд╕реВрдЪреА
рджреЗрддрд╛ рд╣реВрдВ:
scilab-v595.txt ред
рд╕реНрдкреНрд░рд┐рдВрдЯрдл () рдлрд╝рдВрдХреНрд╢рди рдФрд░ рд╕рдорд╛рди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЕрдиреНрдп рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдЧрд▓рдд рдкреНрд░рд╛рд░реВрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдЬреЛ рдкрд╛рдпрд╛ рдЧрдпрд╛ рд╡рд╣ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рд╣рдо рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЗрди рд╕рднреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрддрд╛ рд╣реВрдВ:
scilab-v576.txt ред
рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдХреЗрд╡рд▓ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
#define FORMAT_SESSION "%s%s%s" char *getCommentDateSession(BOOL longFormat) { .... sprintf(line, FORMAT_SESSION, SESSION_PRAGMA_BEGIN, STRING_BEGIN_SESSION, time_str, SESSION_PRAGMA_END); .... }
рдЪреЗрддрд╛рд╡рдиреА PVS-Studio: V576 рдЧрд▓рдд рдкреНрд░рд╛рд░реВрдкред 'рд╕реНрдкреНрд░рд┐рдВрдЯрдл' рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХреЛрдВ рдХреА рдПрдХ рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИред рдЕрдкреЗрдХреНрд╖рд┐рдд: 5. рд╡рд░реНрддрдорд╛рди: 6. getcommentdatesession.c 68
рд╕реНрдЯреНрд░рд┐рдВрдЧ SESSION_PRAGMA_END рдореБрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рд╛рд╡рдзрд╛рдиреА, рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░

short ezxml_internal_dtd(ezxml_root_t root, char *s, size_t len) { .... while (*(n = ++s + strspn(s, EZXML_WS)) && *n != '>') { .... }
рдЪреЗрддрд╛рд╡рдиреА PVS-Studio: V567 рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ред рдЕрдиреБрдХреНрд░рдо рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рджреЛ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди 's' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред ezxml.c 385
рдпрд╣ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "++ s 'рдпрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐" strspn (s, EZXML_WS) "рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЧрдгрдирд╛ рдХреА рдЬрд╛рдПрдЧреАред рддрджрдиреБрд╕рд╛рд░, рдкрд░рд┐рдгрд╛рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрдХрд▓рдХ, рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ, рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдорд╛рдорд▓рд╛ред рдпрд╣рд╛рдВ, рдЯрд╛рдЗрдкреЛ рдХреЗ рдХрд╛рд░рдг рдЕрд╕реНрдкрд╖реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддрд╛ рд╣реИред
static char **replaceStrings(....) { .... int i = 0; .... for (i = 0; i < nr; i = i++) .... }
V567 рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ред рдЕрдиреБрдХреНрд░рдо рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рджреЛ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди 'i' рдЪрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред csvread.c 620
рдкрд░реЗрд╢рд╛рдиреА рдпрд╣ рд╣реИ: i = i ++ред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдореИрдВ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:
for (i = 0; i < nr; i++)
рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ
char *PLD_strtok(....) { .... if ((st->start)&&(st->start != '\0')) .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V528 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ 'char' рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реВрдЪрдХ рдХреА рддреБрд▓рдирд╛ '\ 0' рдорд╛рди рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ: * st-> start! = '\ 0'ред pldstr.c 303
рд╡реЗ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдХрд┐ рд▓рд╛рдЗрди рдЦрд╛рд▓реА рддреЛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реВрдЪрдХ рдХреА рддреБрд▓рдирд╛ NULL рд╕реЗ рджреЛ рдмрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рд╣реА рдХреЛрдб рд╣реИ:
if ((st->start)&&(st->start[0] != '\0'))
рд╕рдорд╛рди рдмреНрд▓реЛрдкрд░:
V528 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ 'char' рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реВрдЪрдХ рдХреА рддреБрд▓рдирд╛ '\ 0' рдорд╛рди рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдВрднрд╡рддрдГ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ: ** рд╢реНрд░реЗрдгреА == '\ 0'ред Sci_xcospalload.cpp 57
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЕрдкреВрд░реНрдг рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:
int sci_displaytree(char *fname, unsigned long fname_len) { .... string szCurLevel = ""; ....
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V655 рддрд╛рд░ рдХреЛ рд╕рдорд╛рдкреНтАНрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред "SzCurLevel +" рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред "" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ред Sci_displaytree.cpp 80
рдХреЛрдб рдЬреЛ рднрд╛рдЧреНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

static int sci_toprint_two_rhs(void* _pvCtx, const char *fname) { .... sprintf(lines, "%s%s\n", lines, pStVarOne[i]); .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V541 рд╕реНрдЯреНрд░рд┐рдВрдЧ 'рд▓рд╛рдЗрдиреЛрдВ' рдХреЛ рд╕реНрд╡рдпрдВ рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЦрддрд░рдирд╛рдХ рд╣реИред Sci_toprint.cpp 314
рд╕реНрдкреНрд░рд┐рдВрдЯрдл () рдлрд╝рдВрдХреНрд╢рди рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ 'рд▓рд╛рдЗрдиреЛрдВ' рдмрдлрд░ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдПрдХ рд╣реА рдмрдлрд░ рдЗрдирдкреБрдЯ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдХреЛрдб рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЦрддрд░рдирд╛рдХ рд╣реИред рдЬрдм рдЖрдк рд╕рдВрдХрд▓рдХ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдФрд░ рдЕрдкреНрд░рд┐рдп рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдРрд╕реА рд╣реА рд╕реНрдерд┐рддрд┐: Sci_coserror.c 94
рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдЬреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдЪ рдирд╣реАрдВ рд╣реИ:
typedef struct JavaVMOption { char *optionString; void *extraInfo; } JavaVMOption; JavaVMOption *options; BOOL startJVM(char *SCI_PATH) { .... fprintf(stderr, "%d: %s\n", j, vm_args.options[j]); .... }
PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V510 'fprintf' рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪреМрдереЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧ-рдкреНрд░рдХрд╛рд░ рдЪрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИред jvm.c 247
рдпрд╣рд╛рдБ рд╡реЗ 'рдСрдкреНрд╢рдирд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ' рдкреЙрдЗрдВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рд╕рд╣реА рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛:
fprintf(stderr, "%d: %s\n", j, vm_args.options[j].optionString);
рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, fprintf () рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ JavaVMOption рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ред рдХреЛрдб рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЕрджреНрднреБрдд рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рджрд╕реНрдп 'рд╡рд┐рдХрд▓реНрдкрд╕реНрдЯреНрд░рд┐рдВрдЧ' рд╕рдВрд░рдЪрдирд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП, fprintf () рдлрд╝рдВрдХреНрд╢рди рдЗрд╕реЗ рд▓реЗ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ред
рджреВрд╕рд░реЗ, рдЙрд╕рдХреЗ рдмрд╛рдж рдлрд╝рдВрдХреНрд╢рди рдХреБрдЫ рднреА рдкреНрд░рд┐рдВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХрдЪрд░рд╛ рдореБрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ('extraInfo' рдЪрд░ рдХреА рд╕рд╛рдордЧреНрд░реА, рдЬреЛ рд╕реНрдЯреИрдХ рдкрд░ рднреА рдорд┐рд▓рддреА рд╣реИ)ред
рд╣рд▓рд┐рд▓реБрдп!
рдирд┐рд╖реНрдХреНрд░рд┐рдп рдЪрдХреНрд░
static void reinitdoit(double *told) { int keve = 0, kiwa = 0; .... kiwa = 0; .... for (i = 0; i < kiwa; i++) .... }
V621 'рдСрдкрд░реЗрдЯрд░' рдХреЗ рд▓рд┐рдП рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд▓реВрдк рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред scicos.c 4432
рдпрд╣рд╛рдБ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред рдЪрд░ 'рдХреАрд╡рд╛' рд╣рдореЗрд╢рд╛ рд╢реВрдиреНрдп рд╣реЛрддрд╛ рд╣реИред рд▓реВрдк рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдХреЛрдб рдЕрдзреВрд░рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдХреНрдпрд╛ рд▓реЗрдЦ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ
рд╕рдЪ рдХрд╣реВрдВ рддреЛ, рдореИрдВ рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рджреЗрдЦрдХрд░ рдФрд░ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдердХ рдЧрдпрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд░реБрдХрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╢рд╛рдпрдж рдХреЛрдИ рдПрдХ рдпреБрдЧрд▓ рдЕрдзрд┐рдХ рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рддреБрдЪреНрдЫ рд╕рдордЭрд╛, рдФрд░ рдЖрд▓рд╕реНрдп рдХреЛ рдЬреАрдд рд▓рд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╢рд╛рдпрдж рдХреБрдЫ рдпрд╛рдж рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЗрдЦрдХ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдиреЛрдЯред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдирд╣реАрдВ рдЦрд░реАрджрд╛, рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд░реНрде рд╣реИред рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рдирд┐рдпрдорд┐рдд рдЬрд╛рдВрдЪ рдореЗрдВ рд╣реИ, рдФрд░ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИред рдЖрдк рдПрдХ рдЯрд╛рдЗрдкреЛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рддреБрд░рдВрдд рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИред рдмрдЧ рдЯреНрд░реИрдХрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг, рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдЦ рднреА рджреЗрдЦреЗрдВ: "
рд▓рд┐рдпреЛ рдЯреЙрд▓реНрд╕реНрдЯреЙрдп рдФрд░ рд╕реНрдЯреЗрдЯрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг "ред
рдЯрд┐рдкреНрдкрдгреА
рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреВрдЫреЗрдЧрд╛ рдХрд┐ рд╕рд┐рд▓рд╛рдм рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдирд╡реАрдирддрдо рдирд╣реАрдВред рд▓рдЧрднрдЧ рдбреЗрдврд╝ рдорд╣реАрдиреЗ рдореИрдВрдиреЗ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХреА, рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рдЕрдВрд╢ рд▓рд┐рдЦреЗред рдФрд░ ... рдФрд░ рдореИрдВ рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛ред
рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдо рд╢рд╛рдорд┐рд▓ рдереЗред рдЕрдм рдореИрдВ рдЗрд╕ рдлрд╛рдЗрд▓ рдкрд░ рдЖрдпрд╛, рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдпрд╛рдж рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдерд╛ред рдореИрдВ рдЗрддрдиреА рд╕рд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧрдбрд╝рдмрдбрд╝ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдпрд╣ рднреА рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреЗрдЦреА рдпрд╛ рдирд╣реАрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдареАрдХ рд╣реИред рдореИрдВ рдЕрдм рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦреВрдВрдЧрд╛ред рд╕рд┐рд▓рд╛рдм рд▓реЗрдЦрдХ рдЗрд╕реЗ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рд╕реНрд╡рдпрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗред рдореЗрд░реЗ рд▓реЗрдЦреЛрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрджреНрдзрддрд┐ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рд╣реИ, рди рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдирд┐рдпрдорд┐рдд рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЖрдк рдмреЗрд╡рдХреВрдл рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХрдо рдХрд░ рджреЗрдВрдЧреЗ рдФрд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдкрд░ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред
рдордзреНрдпрдо рдФрд░ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рд░рд╛рдд рдХреА рдЬрд╛рдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╢реЛрдзрди, MSBuild рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2005/2008 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рдЗрд╕реА рддрд░рд╣, рд╣рдо рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ
- рд╢рдмреНрджрд╛рд╡рд▓реАред рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг ред
- рдПрдВрдбреНрд░реЗ рдХрд╛рд░реНрдкреЛрд╡ред $ 250 рдХреЗ рд▓рд┐рдП рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рд╡рд┐рдХрд▓реНрдк ред
- рдПрдВрдбреНрд░реЗ рдХрд╛рд░рдкреЛрд╡, рдПрд╡рдЧреЗрдиреА рд░рдпрдЬрд╝рдХреЛрд╡, рдкрд╛рд╡реЗрд▓ рдПрд░реЗрдореАрд╡, рд╕рд┐рдпрд╛рд╡реЗрдЯреЛрд╕реНрд▓рд╛рд╡ рд░рдЬрд╝рдорд┐рд╕рд▓реЛрд╡ред рдХреЛрдб рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдХреА рддреБрд▓рдирд╛: CppCat, Cppcheck, PVS-Studio, Visual Studio ред ( рддреБрд▓рдирд╛ рдкрджреНрдзрддрд┐ )ред
рдпрд╣ рд▓реЗрдЦ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд╣реИред
рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдПрдВрдбреНрд░реА рдХрд╛рд░рдкреЛрд╡ред
рдЧрдгрд┐рддрдЬреНрдЮ: рд╡рд┐рд╢реНрд╡рд╛рд╕, рд▓реЗрдХрд┐рди рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ ред