рдЧреЛрдбреЛрдЯ: рд╕реНрдЯреЗрдЯрд┐рдХ рдХреЛрдб рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рдХреЗ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдореБрджреНрджреЗ рдкрд░

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рдЧреЛрдбреЛрдЯ рд╣рдорд╛рд░реА рдкрд╛рдардХ рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдмрд╛рд░-рдмрд╛рд░ рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрджреНрдзрддрд┐ рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред рд╣рдо рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЫрд┐рдЯрдкреБрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рд╣рдо рдЧреЛрдбреЛрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕реЗ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдЧреЗрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдмреЛрд▓рдиреЗ рдХреА рддреИрдпрд╛рд░реА рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рджрд┐рд▓рдЪрд╕реНрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдирдП рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП, рдХрдИ рдЧреЗрдо рдЗрдВрдЬрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдЧреЛрдбреЛрдЯ рдерд╛ред рдореБрдЭреЗ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рджрд┐рд▓рдЪрд╕реНрдк рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реА, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд╛рдзрд╛рд░рдг рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдпреЗ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЯреВрд▓ рдХреЗ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧ рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИрдВред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА 2015 рдореЗрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХреА рдереА , рдФрд░ рд▓реЗрдЦрдХ рдиреЗ рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рдЬреЛ рд╣рдордиреЗ рд▓рд┐рдЦрд╛ рдерд╛ред рдпрд╣рд╛рдВ рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рдХрдорд┐рдЯрдореЗрдВрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

3 рд╕рд╛рд▓ рд╣реЛ рдЧрдПред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рднреА рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдирдП рдирд┐рджрд╛рди рджрд┐рдЦрд╛рдИ рджрд┐рдП рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкрд░реНрдпрд╛рдкреНрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЧреЛрдбреЛрдЯ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдирдИ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд▓рдЧрд╛рддрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ рдФрд░ рддрдп рд╣реЛрддреА рд╣реИрдВред рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рдЕрдВрдбрд░рдПрдХреНрдЯреЗрдб рдПрд░рд░ "рд╕реЗрдЯрд▓" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕реНрдЯреЗрдЯрд┐рдХ рдХреЛрдб рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рдЪрд▓рд╛рдиреЗ рдкрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдХрднреА-рдХрднреА рдПрдХ рдЧрд▓рдд рднрд╛рд╡рдирд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛ рдХреЛрдб рдХреЗ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рдХреБрдЫ рдирд┐рд░реНрдмрд╛рдз рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдпрд╣ рдорд╛рдорд▓рд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХреЗрд╡рд▓ рд╕рдордп-рд╕рдордп рдкрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рд╕реЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗред

рд╣рд╛рдВ, рдЬрдм рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕реНрд╡рдпрдВ рдЦреБрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдПрдХрдореБрд╢реНрдд рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░рд╛ рдПрдХ рдЕрд▓рдЧ рд▓рдХреНрд╖реНрдп рд╣реИред рд╣рдо рджреЛрд╖реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдХрд╛рд░реНрдп рд╕рдВрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рд╕реЗ рдЬреБрдбрд╝реА рд▓рд╛рдЧрддреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рд╣реИред

рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдореБрдЦреНрдп рдмрд╛рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдмрд╛рдд рдкреБрд░рд╛рдиреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред рдпреЗ рдкреБрд░рд╛рдиреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЖрдорддреМрд░ рдкрд░ рдорд╣рддреНрд╡рд╣реАрди рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рд╡реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╣реА рдвреВрдВрдв рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ред рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдирдП рд▓рд┐рдЦрд┐рдд рдпрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдордп рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╢рд┐рдХрд╛рдпрддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЕрдВрддрддрдГ, рд╡рд┐рдХрд╕рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрдЬрдЯ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред

рдЕрдм рдЖрдЗрдП рдмрдЧреЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдХреЗ рдкрд╛рдардХ рдХрд┐рддрдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред

рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдВ


рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╕рдордп рдореИрдВрдиреЗ рдХреНрдпрд╛ рджреЗрдЦрд╛ред рдореИрдВ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ V501 рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реВрдБрдЧрд╛, рдЬреЛ рд▓рдЧрднрдЧ рд╣рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдвреВрдВрдврддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ :)ред

рддреНрд░реБрдЯрд┐ N рез

virtual bool can_export(....) { .... if (!exists_export_template("uwp_" + platform_infix + "_debug.zip", &err) || !exists_export_template("uwp_" + platform_infix + "_debug.zip", &err)) { valid = false; r_missing_templates = true; } .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V501 CWE-570 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ! 'Exists_export_template ("uwp_" + platform_infix + "_debug.zip", рдФрд░ рдЗрд░реЗрдЯ)' рдмрд╛рдИрдВ рдУрд░ рдФрд░ 'рджрд╛рдИрдВ рдУрд░' || рдСрдкрд░реЗрдЯрд░ред рдирд┐рд░реНрдпрд╛рдд

рд╢рд╛рд╕реНрддреНрд░реАрдп рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рддреНрд░реБрдЯрд┐ред рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рд▓реЗрдХрд┐рди рд╕рдВрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо "_release.zip" рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдПрди 2, рдПрди 3

 static String dump_node_code(SL::Node *p_node, int p_level) { .... if (bnode->statements[i]->type == SL::Node::TYPE_CONTROL_FLOW || bnode->statements[i]->type == SL::Node::TYPE_CONTROL_FLOW) { code += scode; //use directly } else { code += _mktab(p_level) + scode + ";\n"; } .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V501 CWE-570 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ 'bnode-> рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ [i] -> рдЯрд╛рдЗрдк == SL :: Node :: TYPE_CONTROL_FLOW' рдмрд╛рдИрдВ рдУрд░ рдФрд░ 'рджрд╛рдИрдВ рдУрд░' || рдСрдкрд░реЗрдЯрд░ред test_shader_lang.cpp 183

 void EditorSpinSlider::_notification(int p_what) { if (p_what == MainLoop::NOTIFICATION_WM_FOCUS_OUT || p_what == MainLoop::NOTIFICATION_WM_FOCUS_OUT) { if (grabbing_spinner) { Input::get_singleton()->set_mouse_mode(Input::MOUSE_MODE_VISIBLE); grabbing_spinner = false; grabbing_spinner_attempt = false; } } .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V501 CWE-570 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ 'p_what == MainLoop :: NOTIFICATION_WM_FOCUS_OUT' рдмрд╛рдИрдВ рдФрд░ рджрд╛рдИрдВ рдУрд░ '' || рдСрдкрд░реЗрдЯрд░ред Editor_spin_slider.cpp 157

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣реА рдХреНрд▓рд╛рд╕рд┐рдХ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдерд╛ред

рддреНрд░реБрдЯрд┐ N4

 String SoftBody::get_configuration_warning() const { .... Transform t = get_transform(); if ((ABS(t.basis.get_axis(0).length() - 1.0) > 0.05 || ABS(t.basis.get_axis(1).length() - 1.0) > 0.05 || ABS(t.basis.get_axis(0).length() - 1.0) > 0.05)) { if (!warning.empty()) .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V501 CWE-570 рдмрд╛рдИрдВ рдФрд░ 'рджрд╛рдИрдВ рдУрд░' рдХреЗ рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВред рдСрдкрд░реЗрдЯрд░ред soft_body.cpp 399

рдпрд╣рд╛рдВ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рджреЛ рдмрд╛рд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рд╕рдордиреНрд╡рдп рдЕрдХреНрд╖ рд╕рдВрдЦреНрдпрд╛ рдХреЗрд╡рд▓ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдмрджрд▓ рджреА рдЧрдИ рдереАред рдФрд░ рд╡реЗ рддреАрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рднреВрд▓ рдЧрдПред рдпрд╣ " рд▓рд╛рд╕реНрдЯ рд▓рд╛рдЗрди рдЗрдлреЗрдХреНрдЯ " рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред

рдиреЛрдЯред рдлрд┐рд▓рд╣рд╛рд▓, "рд▓рд╛рд╕реНрдЯ рд▓рд╛рдЗрди рдЗрдлреЗрдХреНрдЯ" рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджрд┐рд▓рдЪрд╕реНрдк рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдХреА рд╣реИрдВ: " рд╕реА / рд╕реА ++ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдЦрддрд░рдирд╛рдХ рдХрд╛рд░реНрдп ", " рдИрд╡рд┐рд▓ рддреБрд▓рдирд╛ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ "ред рдФрд░ рдЕрдм рдореИрдВ рдПрдХ рдирдП рд▓реЗрдЦ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдХреЗ рд▓реЗрдЦрди рдХреА рдпреЛрдЬрдирд╛ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд░рдиреЗ рдХреА рдореЗрд░реА рдпреЛрдЬрдирд╛ рд╣реИред рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╢реАрд░реНрд╖рдХ "0, 1, 2" рд╣реИред рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рд╢рд┐рдХреНрд╖рд╛рдкреНрд░рдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЖрдкрдХреЛ рдорд┐рд╕ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдПрдХ рдЪреИрдирд▓ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ: рдЯреНрд╡рд┐рдЯрд░ , vk.com , рдЗрдВрд╕реНрдЯрд╛рдЧреНрд░рд╛рдо , рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдФрд░ "рдУрд▓реНрдб рд╕реНрдХреВрд▓" рдЯреЙрд╕ ред

рддреНрд░реБрдЯрд┐ N5

 void ScrollContainer::_notification(int p_what) { .... if (h_scroll->is_visible_in_tree() && h_scroll->get_parent() == this) size.y -= h_scroll->get_minimum_size().y; if (v_scroll->is_visible_in_tree() && v_scroll->get_parent() == this) size.x -= h_scroll->get_minimum_size().x; .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V778 CWE-682 рджреЛ рд╕рдорд╛рди рдХреЛрдб рдЯреБрдХрдбрд╝реЗ рдкрд╛рдП рдЧрдПред рд╢рд╛рдпрдж, рдпрд╣ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИ рдФрд░ 'h_scroll' рдХреЗ рдмрдЬрд╛рдп 'v_scroll' рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдХреНрд░реЛрд▓_рдХрдВрдЯреЗрдирд░.рдХреИрдк 249

рдЗрд╕ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рджреВрд╕рд░рд╛ рдмреНрд▓реЙрдХ рдмрд╣реБрдд рд╕рдВрджрд┐рдЧреНрдз рд▓рдЧ рд░рд╣рд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреЛрдб рдХреЛ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдкрд╛рда рдХреЗ рджреВрд╕рд░реЗ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡реЗ h_scroll рдХреЛ v_scroll рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рднреВрд▓ рдЧрдПред

рдХреЛрдб рд╢рд╛рдпрдж рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

 if (h_scroll->is_visible_in_tree() && h_scroll->get_parent() == this) size.y -= h_scroll->get_minimum_size().y; if (v_scroll->is_visible_in_tree() && v_scroll->get_parent() == this) size.x -= v_scroll->get_minimum_size().x; 

рддреНрд░реБрдЯрд┐ N6

рдПрдХ рдФрд░ рдорд╛рдорд▓рд╛ рдЬрд╣рд╛рдВ рдПрдХ рдмрдбрд╝рд╛ рдкрд░реНрдпрд╛рдкреНрдд рдХреЛрдб рдЯреБрдХрдбрд╝рд╛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЕрд╕рдлрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рддреНрд░реБрдЯрд┐ рд▓рд╛рдЗрди рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА "// <=" рджреНрд╡рд╛рд░рд╛ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИред

 void ShaderGLES2::bind_uniforms() { .... const Map<uint32_t, Variant>::Element *E = uniform_defaults.front(); while (E) { int idx = E->key(); int location = version->uniform_location[idx]; if (location < 0) { E = E->next(); continue; } Variant v; v = E->value(); _set_uniform_variant(location, v); E = E->next(); } const Map<uint32_t, CameraMatrix>::Element *C = uniform_cameras.front(); while (C) { int idx = E->key(); // <= int location = version->uniform_location[idx]; if (location < 0) { C = C->next(); continue; } glUniformMatrix4fv(location, 1, GL_FALSE, &(C->get().matrix[0][0])); C = C->next(); } uniforms_dirty = false; } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V522 CWE-476 рдЕрд╢рдХреНрдд рд╕реВрдЪрдХ 'E' рдХреА рдбреЗрд░реЗрдлреЗрд░рд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИред shader_gles2.cpp 102

рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ред рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж , рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдиреЗ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд╕реВрдЪрдХ рдИ рдбреЗрд░реАрдлреНрд░реЗрдВрд╕рд┐рдВрдЧ рдХреЗ рд╕рдордп рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рддреНрд░реБрдЯрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рд╡реЗ рдПрдХ рдЬрдЧрд╣ рдИ рдХреЛ рд╕реА рдореЗрдВ рдмрджрд▓рдирд╛ рднреВрд▓ рдЧрдПред рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг, рдлрд╝рдВрдХреНрд╢рди рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдЬреАрдм рдЪреАрдЬреЗрдВ рдХрд░рддрд╛ рд╣реИред

рд╢реБрджреНрдзрд┐рдкрддреНрд░


рддреНрд░реБрдЯрд┐ N7

рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдЬреЛ C рдпрд╛ C ++ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рддрд╛рд░рд╛рдВрдХрди рдЪрд┐рд╣реНрди * рдХреЗ рдмрдЬрд╛рдп рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд▓рд┐рдЦрдХрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдРрд╕рд╛ рд╣реИред

 LRESULT OS_Windows::WndProc(....) { .... BITMAPINFO bmi; ZeroMemory(&bmi, sizeof(BITMAPINFO)); bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bmi.bmiHeader.biWidth = dib_size.x; bmi.bmiHeader.biHeight = dib_size.y; bmi.bmiHeader.biPlanes = 1; bmi.bmiHeader.biBitCount = 32; bmi.bmiHeader.biCompression = BI_RGB; bmi.bmiHeader.biSizeImage = dib_size.x, dib_size.y * 4; .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V521 CWE-480 ',' рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдРрд╕реЗ рднрд╛рд╡ рдЦрддрд░рдирд╛рдХ рд╣реИрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рд╣реА рд╣реИред os_windows.cpp 776

рдЪрд░ bmi.bmiHeader.biSizeImage рдХреЛ рдЪрд░ dib_size.x рдХрд╛ рдорд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдСрдкрд░реЗрдЯрд░ ',' рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдСрдкрд░реЗрдЯрд░ '=' рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╣реИред рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо dib_size.y * 4 рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдХреЗ рдмрдЬрд╛рдп рдЧреБрдгрди рдСрдкрд░реЗрдЯрд░ '*' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рддрд░рд╣ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдорддрд▓рдм рд╣реЛрдЧрд╛ред рджреВрд╕рд░реЗ, рдиреАрдЪреЗ рдПрдХ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдЪрд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реИ:

 bmi.bmiHeader.biSizeImage = dib_size.x * dib_size.y * 4; 

рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдПрди 8, рдПрди 9

 void Variant::set(....) { .... int idx = p_index; if (idx < 0) idx += 4; if (idx >= 0 || idx < 4) { Color *v = reinterpret_cast<Color *>(_data._mem); (*v)[idx] = p_value; valid = true; } .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V547 CWE-571 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'idx> = 0 || idx <4 'рд╣рдореЗрд╢рд╛ рд╕рддреНрдп рд╣реЛрддрд╛ рд╣реИред variant_op.cpp 2152

рдХрд┐рд╕реА рднреА рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рд╕рд╣реА рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ || && рдкрд░:

 if (idx >= 0 && idx < 4) { 

рд▓рд╛рдкрд░рд╡рд╛рд╣реА рдХреЗ рдХрд╛рд░рдг рдпрд╣ рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрддреНрдкрдиреНрди рд╣реБрдИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдЯрд╛рдЗрдкреЛрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рд╣реВрдВред

рдареАрдХ рдЙрд╕реА рддреНрд░реБрдЯрд┐ рдХреЛ рдиреАрдЪреЗ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рдЬрдирди рддреНрд░реБрдЯрд┐ рдХрд╛ рджреЛрд╖, рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рд╣реИред

рдПрдХрд╛рдзрд┐рдХ рддреНрд░реБрдЯрд┐: V547 CWE-571 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'idx> = 0 || idx <4 'рд╣рдореЗрд╢рд╛ рд╕рддреНрдп рд╣реЛрддрд╛ рд╣реИред variant_op.cpp 2527

рддреНрд░реБрдЯрд┐ N10

WTF?

рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдПрдХ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ: рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл!

 void AnimationNodeBlendSpace1D::add_blend_point( const Ref<AnimationRootNode> &p_node, float p_position, int p_at_index) { ERR_FAIL_COND(blend_points_used >= MAX_BLEND_POINTS); ERR_FAIL_COND(p_node.is_null()); ERR_FAIL_COND(p_at_index < -1 || p_at_index > blend_points_used); if (p_at_index == -1 || p_at_index == blend_points_used) { p_at_index = blend_points_used; } else { for (int i = blend_points_used - 1; i > p_at_index; i++) { blend_points[i] = blend_points[i - 1]; } } .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V621 CWE-835 'рдСрдкрд░реЗрдЯрд░' рдХреЗ рд▓рд┐рдП рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд▓реВрдк рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдиреАрдореЗрд╢рди_рдмреНрд▓реЗрдВрдб_рд╕реНрдкреЗрд╕_1 рдбреАред рд╕реАред рдкреАред 113

рд▓реВрдк рд╕реНрдЯреЙрдк рд╕реНрдерд┐рддрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: i> p_at_index ред рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реИрд░рд┐рдПрдмрд▓ I рдХреЛ рд╡реЗрд▓реНрдпреВ рдмреНрд▓реЗрдВрдб_ рдкреЙрдЗрдВрдЯреНрд╕_рдпреВрдЬреНрдб - 1 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреЛ рдкрд╣рд▓реЗ рдХреЗ рдЪреЗрдХ рд╕реЗ рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ рдХрд┐ рдорд┐рд╢реНрд░рдг_ рдкреЙрдЗрдВрдЯреНрд╕_рдпреВрд╕реНрдб> p_at_index ред

рд╕реНрдерд┐рддрд┐ рдХреЗрд╡рд▓ рддрднреА рдЧрд▓рдд рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рд╕рд╛рдЗрди рдЪрд░ рдХрд╛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рд░рдгреА рд╕реАрдорд╛ рд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдЬрд╛рдПрдЧреАред

рд╣рдорд╕реЗ рдкрд╣рд▓реЗ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдПрдХ рд╕реБрдВрджрд░ рдЯрд╛рдЗрдкреЛ рд╣реИ рдЬрдм рдЙрдиреНрд╣реЛрдВрдиреЗ '<' рдХреЗ рдмрдЬрд╛рдп '>' рд▓рд┐рдЦрд╛ рдерд╛ред рд╣рд╛рдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдЧрд▓рддрд┐рдпреЛрдВ рдХреА рд╕реБрдВрджрд░рддрд╛ рдХрд╛ рдПрдХ рд╡рд┐рдХреГрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ :)ред

рд╕рд╣реА рдЪрдХреНрд░:

 for (int i = blend_points_used - 1; i < p_at_index; i++) { 

рддреНрд░реБрдЯрд┐ N11

рдЪрдХреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЯрд╛рдЗрдкреЛ рдХрд╛ рдПрдХ рдФрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЙрдЬреНрдЬреНрд╡рд▓ рдорд╛рдорд▓рд╛ред

 void AnimationNodeStateMachineEditor::_state_machine_pos_draw() { .... int idx = -1; for (int i = 0; node_rects.size(); i++) { if (node_rects[i].node_name == playback->get_current_node()) { idx = i; break; } } .... } 

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА: V693 CWE-835 рд▓реВрдк рдХреА рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ s X.size () тАЩрдХреЗ рдмрдЬрд╛рдп is i <X.size ()тАЩ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдПрдиреАрдореЗрд╢рди_рд╕реНрдЯреИрдЯ_рдордЪрд╛рдЗрди_рдбрд┐рдЯрд░ред рд╕реАрдкреА mрелреи

рд╕рд░рдгреА рдХрд╛ рдПрдХ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХрд╛ рдореВрд▓реНрдп рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд░реВрдк рд╕реЗ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛрдб:

 for (int i = 0; i < node_rects.size(); i++) { 

рддреНрд░реБрдЯрд┐ N12

 GDScriptDataType GDScriptCompiler::_gdtype_from_datatype( const GDScriptParser::DataType &p_datatype) const { .... switch (p_datatype.kind) { .... case GDScriptParser::DataType::NATIVE: { result.kind = GDScriptDataType::NATIVE; result.native_type = p_datatype.native_type; } break; case GDScriptParser::DataType::SCRIPT: { result.kind = GDScriptDataType::SCRIPT; result.script_type = p_datatype.script_type; result.native_type = result.script_type->get_instance_base_type(); } case GDScriptParser::DataType::GDSCRIPT: { result.kind = GDScriptDataType::GDSCRIPT; result.script_type = p_datatype.script_type; result.native_type = result.script_type->get_instance_base_type(); } break; .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V796 CWE-484 рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ 'рдмреНрд░реЗрдХ' рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЧрд╛рдпрдм рд╣реИред gdscript_compiler.cpp 135

рдЧрд▓рддреА рд╕реЗ рдмреНрд░реЗрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд▓рд┐рдЦрдирд╛ рднреВрд▓ рдЧрдПред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдпрд╣ GDScriptParser рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ :: DataType :: SCRIPT, рдЪрд░ рдорд╛рдиреЛрдВ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ GDScriptParser :: DataType :: GDSCRIPT рдерд╛ ред

рддреНрд░реБрдЯрд┐ N13

рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдХреЛ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрддрдиреА рдЫреЛрдЯреА рд▓рд╛рдЗрди рдХреА рдирдХрд▓ рдХреА рдЧрдИ рдереАред рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╕рд░рд▓ рдЯрд╛рдЗрдкреЛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

 void CPUParticles::_particles_process(float p_delta) { .... if (flags[FLAG_DISABLE_Z]) { p.velocity.z = 0.0; p.velocity.z = 0.0; } .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V519 CWE-563 'p.velocity.z' рдЪрд░ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджреЛ рдмрд╛рд░ рдорд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИред рдЬрд╛рдБрдЪ рд▓рд╛рдЗрдиреЗрдВ: 664, 665. cpu_particles.cpp 665

рдПрдХ рд╣реА рдЪрд░ рдХреЗ рджреЛ рдмрд╛рд░ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯред рдиреАрдЪреЗ рдЖрдк рдирд┐рдореНрди рдХреЛрдб рдЯреБрдХрдбрд╝рд╛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 if (flags[FLAG_DISABLE_Z]) { p.velocity.z = 0.0; p.transform.origin.z = 0.0; } 

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЙрд╕реА рддрд░рд╣ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

рддреНрд░реБрдЯрд┐ N14

 bool AtlasTexture::is_pixel_opaque(int p_x, int p_y) const { if (atlas.is_valid()) { return atlas->is_pixel_opaque( p_x + region.position.x + margin.position.x, p_x + region.position.y + margin.position.y ); } return true; } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V751 рдкреИрд░рд╛рдореАрдЯрд░ 'p_y' рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝рдВрдХреНрд╢рди рдмреЙрдбреА рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрдирд╛рд╡рдЯред резреж textureрел

V751 рдирд┐рджрд╛рди рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рдЦреБрд╢рдмреВ :

рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдПрдХ рд╕рдВрджрд┐рдЧреНрдз рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХреЗ рдЕрдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрднрд╡рддрдГ, рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╣реА рд╕рдВрджрд┐рдЧреНрдз рд╣реИред рдЪрд░ p_x рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ p_y рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

 return atlas->is_pixel_opaque( p_x + region.position.x + margin.position.x, p_y + region.position.y + margin.position.y ); 

рд╡реИрд╕реЗ, рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рддреНрд░реБрдЯрд┐ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред рдпрджрд┐ рдХреЛрдб рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдПрдХ рдХреЙрд▓рдо рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХ рд▓рд┐рдЦреЗ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд▓реЗрдЦ рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рддреНрд░реБрдЯрд┐ рддреБрд░рдВрдд рдореЗрд░реА рдЖрдВрдЦ рдХреЛ рдкрдХрдбрд╝ рд▓реЗрдЧреАред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЯреЗрдмрд▓ рдкреНрд░рд╛рд░реВрдкрдг рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯрд╛рдЗрдкреЛ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред "" рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдореБрдЦреНрдп рдореБрджреНрджрд╛, "рд░рд┐рдлреИрдХреНрдЯреАрдВрдЧ рдФрд░ рд╕рдм рдХреБрдЫ ред"

рддреНрд░реБрдЯрд┐ N15

 bool SpriteFramesEditor::can_drop_data_fw(....) const { .... Vector<String> files = d["files"]; if (files.size() == 0) return false; for (int i = 0; i < files.size(); i++) { String file = files[0]; String ftype = EditorFileSystem::get_singleton()->get_file_type(file); if (!ClassDB::is_parent_class(ftype, "Texture")) { return false; } } .... } 

PVS-Studio рдЪреЗрддрд╛рд╡рдиреА: V767 рд▓реВрдк рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕реНрдерд┐рд░ рдЗрдВрдбреЗрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ 'рдлрд╛рдЗрд▓' рдПрд░реЗ рдХреЗ рддрддреНрд╡ рддрдХ рд╕рдВрджрд┐рдЧреНрдз рдкрд╣реБрдВрдЪред sprite_frames_editor_plugin.cpp 602

рд▓реВрдк рд▓реВрдк рдХреЗ рд╕рднреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдкрд░ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдЯрд╛рдЗрдк рдХрд░реЗрдВ:

 String file = files[0]; 

рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

 String file = files[i]; 

рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ


рддреНрд░реБрдЯрд┐ N16

 CSGBrush *CSGBox::_build_brush() { .... for (int i = 0; i < 6; i++) { .... if (i < 3) face_points[j][(i + k) % 3] = v[k] * (i >= 3 ? -1 : 1); else face_points[3 - j][(i + k) % 3] = v[k] * (i >= 3 ? -1 : 1); .... } .... } 

PVS-Studio рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рддреБрд░рдВрдд рдЗрд╕ рдХреЛрдб рдкрд░ рджреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рджреЗрддрд╛ рд╣реИ:

  • V547 CWE-570 рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 'i> = 3' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИред csg_shape.cpp 939
  • V547 CWE-571 рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 'i> = 3' рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИред csg_shape.cpp 941

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рджреЛрдиреЛрдВ рднрд╛рд╡реЛрдВ рдореЗрдВ рдпрд╣ рдЧреБрджрдЧреБрджреА рдСрдкрд░реЗрдЯрд░ рдмрд╣реБрдд рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ:

 i >= 3 ? -1 : 1 

рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдерд┐рддрд┐ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддреА рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рдпрд╣ рдЧрд▓рдд рд╣реИред рдпрд╣ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рд╕рд╣реА рдХреИрд╕реЗ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢рд╛рдпрдж рдпрд╣ рдмреЗрдорд╛рдиреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 for (int i = 0; i < 6; i++) { .... if (i < 3) face_points[j][(i + k) % 3] = v[k]; else face_points[3 - j][(i + k) % 3] = -v[k]; .... } 

рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдХреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рддреНрд░реБрдЯрд┐ N17

V595 рдЬреИрд╕реА рд▓рдЧрднрдЧ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдереА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрд╣реБрддрд╛рдпрдд рдореЗрдВ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрд┐рдЫрд▓реЗ рдЪреЗрдХ рдХреЗ рдмрд╛рдж рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд▓рдЧрднрдЧ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реБрдИ рдереАрдВред рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдХреБрдЫ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрдЦреАред

 bool CanvasItemEditor::_get_bone_shape(....) { .... Node2D *from_node = Object::cast_to<Node2D>( ObjectDB::get_instance(bone->key().from)); .... if (!from_node->is_inside_tree()) return false; //may have been removed if (!from_node) return false; .... } 

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА: V595 CWE-476 'from_node' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 565, 567. рдХреИрдирд╡рд╕_рдЯрд╛рдЗрдо_рдбрд┐рдЯрд░_рдкреНрд▓рдЧрд┐рди.рдХреИрдк 565

From_node рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдкрд╣рд▓реЗ is_inside_tree рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП dereferenced рдЬрд╛рддрд╛ рд╣реИ , рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЗрд╕реЗ nullptr рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреЗрдХ рд╕реНрд╡реИрдк рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП:

 if (!from_node) return false; if (!from_node->is_inside_tree()) return false; //may have been removed 

рддреНрд░реБрдЯрд┐ N18
 enum JoystickList { .... JOY_AXIS_MAX = 10, .... }; static const char *_axes[] = { "Left Stick X", "Left Stick Y", "Right Stick X", "Right Stick Y", "", "", "L2", "R2" }; int InputDefault::get_joy_axis_index_from_string(String p_axis) { for (int i = 0; i < JOY_AXIS_MAX; i++) { if (p_axis == _axes[i]) { return i; } } ERR_FAIL_V(-1); } 

рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА: V557 CWE-125 рдРрд░реЗ рдУрд╡рд░рд░рди рд╕рдВрднрд╡ рд╣реИред 'I' рдЗрдВрдбреЗрдХреНрд╕ рдХрд╛ рдорд╛рди 9. input_default.cpp 1119 рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИ

_Axes рд╕рд░рдгреА рдореЗрдВ рдЖрда рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдирд┐рд░рдВрддрд░ JOY_AXIS_MAX , рдЬреЛ рд▓реВрдк рдХреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, 10. рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд▓реВрдк рд╕рд░рдгреА рд╕реАрдорд╛ рд╕реЗ рдкрд░реЗ рдЬрд╛рддрд╛ рд╣реИред

рддреНрд░реБрдЯрд┐ N19

рдФрд░ рдЕрдВрддрд┐рдо рдмрд╣реБрдд рдЕрдЬреАрдм рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ, рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдХреБрдЫ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рд▓рдВрдмрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдПрдХ рддрд╕реНрд╡реАрд░ рдХреЗ рд░реВрдк рдореЗрдВ рджреВрдВрдЧрд╛ (рдЪрд┐рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред

рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рд╕рдорд╛рд░реЛрд╣



рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЪреЗрддрд╛рд╡рдиреА: V779 CWE-561 рдЕрдиреБрдкрдпреЛрдЧреА рдХреЛрдб рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдореМрдЬреВрдж рд╣реЛред test_math.cpp 457

рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрдИ рдмрд┐рдирд╛ рд╢рд░реНрдд рд░рд┐рдЯрд░реНрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╣реИрдВ ред рддрд╕реНрд╡реАрд░ рдореЗрдВ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рд▓ рдЕрдВрдбрд╛рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рд░рд┐рдЯрд░реНрди NULL рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рднреВрд▓ рдЧрдПред рдирддреАрдЬрддрди, рдлрд╝рдВрдХреНрд╢рди рдпрд╣ рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдХреНрдпрд╛ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рдЧрднрдЧ рдкреВрд░реЗ рд╢рд░реАрд░ рдореЗрдВ рдЕрдЧрдореНрдп рдХреЛрдб рд╣реЛрддреЗ рд╣реИрдВред

рд╢рд╛рдпрдж, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрд╣ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрд╛рд▓рд╛рдХ рд╡рд┐рдЪрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрдпреЛрдЧ рд╕реЗ рд╣реБрдЖ рд╣реИ рдФрд░ рдХреЛрдб рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЪрд▓реЛ рдЗрд╕ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдлрд┐рд░ рдпрд╣ рдореЗрд░реЗ рдФрд░ рдкрд╛рдардХ рдХреЗ рд▓рд┐рдП рдЙрдмрд╛рдК рд╣реЛ рдЬрд╛рдПрдЧрд╛ :)ред

рдирд┐рд╖реНрдХрд░реНрд╖


рд▓реЗрдЦ рдЙрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдХрд╛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рдпрдорд┐рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╡реНрдпрдХреНрддрд┐ рдХрдИ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рддреБрд░рдВрдд рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА рдиреЗ рдЕрдкрдиреЗ рдиреЛрдЯ рдореЗрдВ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛: " рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рджрд░реНрд╢рди: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 100 рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реИрдВ, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рдИрдВ, рдХреНрдпрд╛ рдпрд╣ рдмреЗрдХрд╛рд░ рд╣реИ? "ред рдореИрдВ рдЗрд╕ рдЫреЛрдЯреЗ рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ 10 рдорд┐рдирдЯ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╕рднреА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред



рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдПрдВрдбреНрд░реЗ рдХрд╛рд░рдкреЛрд╡ред рдЧреЛрдбреЛрдЯ: рд╕реНрдЯреЗрдЯрд┐рдХ рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рдХреЗ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧ рдкрд░ ред

Source: https://habr.com/ru/post/hi431200/


All Articles