
рдЕрдм рд╣рдо рдПрдХ рдмрдбрд╝реЗ рдХрд╛рдо рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реИрдВред рд╣рдо рдЪрд╛рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдХреИрдкрдЪреЗрдХ, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2013 (рдмрд┐рд▓реНрдЯ-рдЗрди рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ)ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдХрдо рд╕реЗ рдХрдо 10 рдЦреБрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдФрд░ рдЙрди рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдмрд╣реБрдд рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп рд╣реИ рдФрд░ рдЕрднреА рддрдХ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рд▓рд┐рдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рдореИрдВ рдХреНрдпрд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдлрд╛рдпрд░рдмрд░реНрдб рдореЗрдВ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ред
Firebird
рдлрд╛рдпрд░рдмрд░реНрдб (FirebirdSQL) - рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдлреНрд░реА рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо (DBMS), рд▓рд┐рдирдХреНрд╕, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдпреВрдирд┐рдХреНрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рдПрдХ рдХрд┐рд╕реНрдо рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рд╡реЗрдмрд╕рд╛рдЗрдЯ:
http://www.firebirdsql.org/рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛:
рдлрд╛рдпрд░рдмрд░реНрдб рдкрд░ рд╡рд┐рд╡рд░рдг
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Uninitialized рдЪрд░
static const UCHAR* compile(const UCHAR* sdl, sdl_arg* arg) { SLONG n, count, variable, value, sdl_operator; .... switch (op) { .... case isc_sdl_add: sdl_operator = op_add; case isc_sdl_subtract: if (!sdl_operator) sdl_operator = op_subtract; ...... }
V614 Uninitialized рдЪрд░ 'sdl_operator' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред sdl.cpp 404
рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдХреЗрд╕ isc_sdl_add:" рдФрд░ "рдХреЗрд╕ isc_sdl_subtract:" рдХреЗ рдмреАрдЪ рдСрдкрд░реЗрдЯрд░ 'рдмреНрд░реЗрдХ' рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧрд╛рдпрдм рд╣реИред рдЬрдм рд╣рдо рддреБрд░рдВрдд "рдХреЗрд╕ isc_sdl_subtract:" рдореЗрдВ рдЖрддреЗ рд╣реИрдВ рддреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ 'sdl_operator' рд╡реИрд░рд┐рдПрдмрд▓ рдЕрднреА рддрдХ рдЖрд░рдВрднреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕реА рддрд░рд╣ рдХреА рдПрдХ рдФрд░ рд╕реНрдерд┐рддрд┐ред рдпрджрд┐ "рдлрд╝реАрд▓реНрдб == рдЕрд╕рддреНрдп" рд╣реИ рддреЛ рдЪрд░ 'рдлреАрд▓реНрдбрдиреЛрдб' рдЕрдирдЗрдВрд╕реНрдЯрд╛рд▓реНрдпреВрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
void blb::move(....) { .... const FieldNode* fieldNode; if (field) { if ((fieldNode = ExprNode::as<FieldNode>(field))) .... } .... const USHORT id = fieldNode->fieldId; .... }
V614 рдкреЛрдЯреЗрдВрд╢рд┐рдпрд▓ рдЕрдирдЗрдВрд╕реНрдЯрд╛рд▓реНрдб рдкреЙрдЗрдВрдЯрд░ 'рдлрд╝реАрд▓реНрдбрдиреЛрдб' рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред blb.cpp 1043
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░ рдХреЛ рдПрдХ рд╣реА рдирд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдпрд╣ рдмреБрд░рд╛ рд╣реИ:
void realign(....) { for (....) { UCHAR* p = buffer + field->fld_offset; .... for (const burp_fld* field = relation->rel_fields; field; field = field->fld_next) { .... UCHAR* p = buffer + FB_ALIGN(p - buffer, sizeof(SSHORT)); ........ }
V573 Uninitialized рдЪрд░ 'p' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЦреБрдж рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛ред rest.cpp 17535
рджреВрд╕рд░реЗ рдЪрд░ 'p тАЩрдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╕рдордп, рд╡реЗ рдкрд╣рд▓реЗ рдЪрд░ the pтАЩ рдХреЗ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рджреВрд╕рд░рд╛, рдЕрднреА рднреА рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдПред рдпрд╣рд╛рдБ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ: 175.cpp рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЦрддрд░рдирд╛рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рддреБрд▓рдирд╛ (рднреЗрджреНрдпрддрд╛)
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ memcmp () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо 'SSHORT' рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред 'SSHORT' рдЯрд╛рдЗрдк 'рд╢реЙрд░реНрдЯ' рдХреЗ рдкрд░реНрдпрд╛рдп рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред
SSHORT TextType::compare( ULONG len1, const UCHAR* str1, ULONG len2, const UCHAR* str2) { .... SSHORT cmp = memcmp(str1, str2, MIN(len1, len2)); if (cmp == 0) cmp = (len1 < len2 ? -1 : (len1 > len2 ? 1 : 0)); return cmp; }
V642 'рд▓рдШреБ' рдкреНрд░рдХрд╛рд░ рдЪрд░ рдХреЗ рдЕрдВрджрд░ 'рдореЗрдордХреИрдВрдк' рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рдгрд╛рдо рд╕рд╣реЗрдЬрдирд╛ рдЕрдиреБрдЪрд┐рдд рд╣реИред рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рддрд░реНрдХ рдХреЛ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред texttype.cpp 338
рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ?
рдЖрдЗрдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдореЗрдордХреИрдВрдк () рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рдХрд╛рд░ 'int' рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо 'рд▓рдШреБ' рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ рдЦреЛ рдЧрдП рд╣реИрдВред рдпрд╣ рдЦрддрд░рдирд╛рдХ рд╣реИ!
рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрди рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ: рд╢реВрдиреНрдп рд╕реЗ рдХрдо, рд╢реВрдиреНрдп рдпрд╛ рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХред "рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ" рд╕реЗ рдХреБрдЫ рднреА рдорддрд▓рдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ 1, 2 рдпрд╛ 19472341 рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк 'int' рдХреЗ рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдореЗрдореНрдХреИрдВрдк () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдирд╣реАрдВ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдорд╕реНрдпрд╛ рджреВрд░ рдХреА рдХреМрдбрд╝реА рд▓рдЧ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднреЗрджреНрдпрддрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИред MySQL рдХреЛрдб рдореЗрдВ рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдХреЛ
рднреЗрджреНрдпрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреНрдпрддрд╛ рджреА рдЧрдИ рдереА:
MySQL / MariaDB sql / password.c рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рднреЗрджреНрдпрддрд╛ ред рд╡рд╣рд╛рдВ, рдкрд░рд┐рдгрд╛рдо рдХреЛ 'char' рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рдЪрд░ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ 'рдЫреЛрдЯрд╛' рдкреНрд░рдХрд╛рд░ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИред
рдЗрд╕реА рддрд░рд╣ рдХреА рдЦрддрд░рдирд╛рдХ рддреБрд▓рдирд╛рдПрдВ рдпрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИрдВ:
рд╢реБрджреНрдзрд┐рдкрддреНрд░
рдЯрд╛рдЗрдкреЛ рд╣рд░ рдЬрдЧрд╣ рдФрд░ рд╣рдореЗрд╢рд╛ рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдкрд░реАрдХреНрд╖рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЬрд▓реНрджреА рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡реИрд╕реЗ рднреА, рдЖрдк рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЯрд╛рдЗрдкреЛрд╕ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
int Parser::parseAux() { .... if (yyps->errflag != yyps->errflag) goto yyerrlab; .... }
V501 рдмрд╛рдИрдВ рдФрд░ 'рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ! =' рдСрдкрд░реЗрдЯрд░: yyps-> рдЗрд░рдлрд╝реНрд▓реИрдЧ! = Yyps-> рдЗрд░рдлрд╝реНрд▓реИрдЧ parse.cpp 23523
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдпрд╣рд╛рдВ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдФрд░ рдпрд╣рд╛рдБ, рд╢рд╛рдпрдж, рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
bool CMP_node_match( const qli_nod* node1, const qli_nod* node2) { .... if (node1->nod_desc.dsc_dtype != node2->nod_desc.dsc_dtype || node2->nod_desc.dsc_scale != node2->nod_desc.dsc_scale || node2->nod_desc.dsc_length != node2->nod_desc.dsc_length) .... }
V501 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ 'рдиреЛрдб 2-> nod_desc.dsc_scale' рдмрд╛рдИрдВ рдУрд░ рдФрд░ '! =' рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ред compile.cpp 156
V501 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ 'рдиреЛрдб 2-> nod_desc.dsc_length' рдмрд╛рдИрдВ рдУрд░ рдФрд░ '! =' рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ред compile.cpp 157
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ CMP_node_match () рдлрд╝рдВрдХреНрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 'nod_desc.dsc_scale' рдФрд░ 'nod_desc.dsc_length' рд╡рд░реНрдЧ рдХреЗ рд╕рджрд╕реНрдп рдЧрд▓рдд рд╣реИрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХ рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рдЯрд╛рдЗрдкреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: compile.cpp 183
рдЕрдЬреАрдм рд╕рд╛ рдЪрдХреНрд░
static processing_state add_row(TEXT* tabname) { .... unsigned i = n_cols; while (--i >= 0) { if (colnumber[i] == ~0u) { bldr->remove(fbStatus, i); if (ISQL_errmsg(fbStatus)) return (SKIP); } } msg.assignRefNoIncr(bldr->getMetadata(fbStatus)); .... }
V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ '- i> = 0' рд╣рдореЗрд╢рд╛ рд╕рддреНрдп рд╣реЛрддреА рд╣реИред рдирд┐рд░реБрдкрд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдореВрд▓реНрдп рд╣рдореЗрд╢рд╛> = 0. isql.cpp 3421 рд╣реЛрддрд╛ рд╣реИ
рдЪрд░ 'i' рдкреНрд░рдХрд╛рд░ рдХрд╛ 'рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд' рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЪрд░ 'i' рд╣рдореЗрд╢рд╛ 0 рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕реНрдерд┐рддрд┐ (--i> = 0) рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реИред
рдпрд╣ рдЪрдХреНрд░, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛:
SLONG LockManager::queryData(....) { .... for (const srq* lock_srq = (SRQ) SRQ_ABS_PTR(data_header.srq_backward); lock_srq != &data_header; lock_srq = (SRQ) SRQ_ABS_PTR(lock_srq->srq_backward)) { const lbl* const lock = ....; CHECK(lock->lbl_series == series); data = lock->lbl_data; break; } .... }
рдпрд╣ рд╕рдВрджрд┐рдЧреНрдз 'рдмреНрд░реЗрдХ' рдХреНрдпрд╛ рд╣реИ?
рдЗрд╕реА рддрд░рд╣ рдХреА рдПрдХ рдФрд░ рд╕реНрдерд┐рддрд┐: pag.cpp 217
рдХреНрд▓рд╛рд╕рд┐рдХ
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдмрд╣реБрдд рд╕рд╛рд░реА рдХреНрд▓рд╛рд╕рд┐рдХ рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВред рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╢реВрдиреНрдп рдХреА рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЦрд░рд╛рдм рдФрд░ рдЦрддрд░рдирд╛рдХ рдХреЛрдб рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред рдореИрдВ рд╢реЗрд╖ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╕реВрдЪреА рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдВрдЧрд╛ред
int CCH_down_grade_dbb(void* ast_object) { .... SyncLockGuard bcbSync( &bcb->bcb_syncObject, SYNC_EXCLUSIVE, "CCH_down_grade_dbb"); bcb->bcb_flags &= ~BCB_exclusive; if (bcb && bcb->bcb_count) .... }
N5ptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ V595 'bcb' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 271, 274. cch.cpp 271
рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╕реВрдЪрдХ 'bcb' рдХреЛ "bcb-> bcb_flags & = ...." рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдВрдЪ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ 'рдмреАрд╕реАрдмреА' рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдРрд╕реА рдЬрдЧрд╣реЛрдВ рдХреА рд╕реВрдЪреА (31 рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ):
рдлрд╛рдпрд░рдмрд░реНрдб-рд╡реА 595. рдЯреЗрдХреНрд╕реНрдЯрдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рд╢рд┐рдлреНрдЯ рдХрд░реЗрдВ
рдЪреВрдВрдХрд┐ рдлрд╛рдпрд░рдмрд░реНрдб рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЙрди рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдЬреЛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рд╕рдордп рдХреЗ рд╕рд╛рде рдирдХрд╛рд░рд╛рддреНрдордХ рддрд░реАрдХреЗ рд╕реЗ рдЦреБрдж рдХреЛ рдкреНрд░рдХрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const ULONG END_BUCKET = (~0) << 1;
V610 рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ред рд╢рд┐рдлреНрдЯ рдСрдкрд░реЗрдЯрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ <<ред рдмрд╛рдпрд╛рдБ рдСрдкрд░реЗрдВрдб '(~ 0)' рдирд┐рдЧреЗрдЯрд┐рд╡ рд╣реИред ods.h 337
рдЛрдгрд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдкрдврд╝реЗрдВ: "
рдмрд┐рдирд╛ рдХрд╛рдВрдЯреЗ рдХреЛ рдЬрд╛рдиреЗ, рдкрд╛рдиреА рдореЗрдВ рдирд╣реАрдВ рдЙрддрд░реЗрдВред рднрд╛рдЧ рддреАрди ред"
рдпрд╣рд╛рдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:
const ULONG END_BUCKET = (~0u) << 1;
рдФрд░ рджреЛ рдФрд░ рдЦрд░рд╛рдм рдмрджрд▓рд╛рд╡:
- exprnodes.cpp 6185
- array.cpp 845
рдЕрд░реНрдерд╣реАрди рдЬрд╛рдБрдЪ
static processing_state add_row(TEXT* tabname) { .... unsigned varLength, scale; .... scale = msg->getScale(fbStatus, i); .... if (scale < 0) .... }
V547 рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 'рд╕реНрдХреЗрд▓ <0' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИред рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рдХрднреА <0 .qq.cpp 3716 рдирд╣реАрдВ рд╣реИ
рдЪрд░ 'рд╕реНрдХреЗрд▓' рдкреНрд░рдХрд╛рд░ рдХрд╛ 'рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд' рд╣реИред рддреБрд▓рдирд╛ (рдкреИрдорд╛рдиреЗ <0) рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
рд╕рджреГрд╢: isql.cpp 4437
рдЖрдЗрдП рдПрдХ рдФрд░ рд╕рдорд╛рд░реЛрд╣ рджреЗрдЦреЗрдВ:
static bool get_switches(....) .... if (**argv != 'n' || **argv != 'N') { fprintf(stderr, "-sqlda : " "Deprecated Feature: you must use XSQLDA\n "); print_switches(); return false; } .... }
рдЧрд▓рдд рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХред рджрд╢рд╛ (** argv! = 'N' || ** argv! = 'N') рд╣рдореЗрд╢рд╛ рд╕рдВрддреБрд╖реНрдЯ рд░рд╣рддреА рд╣реИред
рдЕрдиреЗрдХ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣
void FB_CARG Why::UtlInterface::getPerfCounters( ...., ISC_INT64* counters) { unsigned n = 0; .... memset(counters, 0, n * sizeof(ISC_INT64)); .... }
V575 'рдореЗрдорд╕реЗрдЯ' рдлрд╝рдВрдХреНрд╢рди '0' рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИред рддреАрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред perf.cpp 487
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдЪрд░ 'рдПрди' рд╢реВрдиреНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдореВрд▓реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред
рддреАрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдирд╡рд░реНрдЯ () рдлрд╝рдВрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рд▓реЗрддрд╛ рд╣реИ:
ULONG convert(const ULONG srcLen, const UCHAR* src, const ULONG dstLen, UCHAR* dst, ULONG* badInputPos = NULL, bool ignoreTrailingSpaces = false);
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдлрд╝рдВрдХреНрд╢рди рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
string IntlUtil::escapeAttribute(....) { .... ULONG l; UCHAR* uc = (UCHAR*)(&l); const ULONG uSize = cs->getConvToUnicode().convert(size, p, sizeof(uc), uc); .... }
V579 рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╕реВрдЪрдХ рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдПрдХ рдЧрд▓рддреА рд╣реИред рддреАрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред intlutil.cpp 668
рд╣рдо
64-рдмрд┐рдЯ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ Win64 рдореЗрдВ рдЦреБрдж рдХреЛ рдкреНрд░рдХрдЯ рдХрд░реЗрдЧрд╛ред
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рд╕рд╛рдЗрдЬрд╝реЛрдлрд╝ (uc)' рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдмрдлрд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдирд╣реАрдВред рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЖрдХрд╛рд░ 'рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдВрдмреЗ' рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЖрдХрд╛рд░ 'рд▓реЙрдиреНрдЧ' рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рдорд╛рди рд╣реИред Win32 рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рддреНрд░реБрдЯрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рд╣рдо Win64 рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдХрдиреНрд╡рд░реНрдЯ () рдлрд╝рдВрдХреНрд╢рди рд╕реЛрдЪреЗрдВрдЧреЗ рдХрд┐ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ 8 рдмрд╛рдЗрдЯреНрд╕ (рдкреЙрдЗрдВрдЯрд░ рдЖрдХрд╛рд░) рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ 4 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред
рдиреЛрдЯред рд╢рд╛рдпрдж рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЕрдиреНрдп 64-рдмрд┐рдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрдЪрд┐рдд рдирд┐рджрд╛рди рдХрд╛ рдЕрдзреНрдпрдпрди рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЙрдмрд╛рдК рд╣реИ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЬрд╛рдиреЗ рдмрд┐рдирд╛ рдпрд╣ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдХреЛрдИ рдЧрд▓рддреА рд╣реЛрдЧреА рдпрд╛ рдирд╣реАрдВред рд╕рд╛рдорд╛рдиреНрдп рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╕рдордп рд╡рд░реНрдгрд┐рдд 64-рдмрд┐рдЯ рд╕рдорд╕реНрдпрд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рдкрд╛рдИ рдЧрдИ рдереАред
рдирд┐рд╖реНрдХрд░реНрд╖
рдкрд╛рдардХ рд╢рд╛рдпрдж рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ Cppcheck рдФрд░ VS2013 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреНрдпрд╛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред рд╣рд╛рдВ, рдЗрди рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдХреБрдЫ рдРрд╕рд╛ рдкрд╛рдпрд╛ рдЬреЛ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред рд▓реЗрдХрд┐рди рдХрд╛рдлреА рдереЛрдбрд╝рд╛ред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░, рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдПрдХ рдиреЗрддрд╛ рд╕рд╛рдмрд┐рдд рд╣реБрдЖред рддреБрд▓рдирд╛ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рд▓реЗрдЦ рдореЗрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЬрд▓реНрдж рд╣реА рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред