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

рдкрд░рд┐рдЪрдп
рд╣рдорд╛рд░реА рдХрд╣рд╛рдиреА рдХреЗ рдореБрдЦреНрдп рдкрд╛рддреНрд░реЛрдВ - рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде
рд╣рд╛рдЗрдХреБ рдФрд░ рд╕реА, рд╕реА ++, рд╕реА # рдФрд░ рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдЯреИрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕реЗ рдорд┐рд▓реЗрдВред рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 4.5 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдПрдХ рдЦреБрджрд╛рдИ рдереА, рддреЛ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдВрдХрд▓рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдерд╛ред рд╕рдВрдХрд▓рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ, рдПрдХ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЪрд▓рд╛рдиреЗ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдирд╛ рдФрд░ рдЗрддрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛
рдХрдВрдкрд╛рдЗрд▓рд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдпреВрдЖрдИ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕реЗ C # рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЛрдиреЛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рдЗрдХреБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рд╡рд┐рднрд┐рдиреНрди рдУрдПрд╕ рдХреЗ рддрд╣рдд рдХреНрд░реЙрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдореИрдВ рд╣рд╛рдЗрдХреВ рднрд╡рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдкреВрд░реНрдгрддрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╣рд╛рдЗрдХреВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЕрдм рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдпрд╣рд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ:
cd /opt git clone https:
рд╡реИрд╕реЗ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣рдордиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдирдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддреИрдпрд╛рд░ рдХрд┐рдП рд╣реИрдВ:
рдбреЙрдХрдЯрд░ рдореЗрдВ рд░рдирд┐рдВрдЧ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ ред рдпрд╣ рдХреБрдЫ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рддрдХрдиреАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред
Uninitialized рдЪрд░
V614 Uninitialized рдЪрд░ 'rval' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ред fetch.c 1727
int auto_fetch(int argc, char *argv[]) { volatile int argpos; int rval;
рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдЪрд░ рдХреЛ рдШреЛрд╖рдгрд╛ рдкрд░ рдЖрд░рдВрднреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╢реВрдиреНрдп рдорд╛рди рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╕реЗ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛ред рдпрджрд┐ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╡рд┐рдлрд▓ рд╣реЛрддреА рд╣реИрдВ, рддреЛ
рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдЪрд░ рдХрд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдорд╛рди
auto_fetch рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╡рд╛рдкрд╕реА рдорд╛рди рдмрди
рдЬрд╛рддрд╛ рд╣реИред
V614 Uninitialized рдкреЙрдЗрдВрдЯрд░ 'рд░реЗрд╕' рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рдЖрджреЗрд╢ реи commands.cрей
struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; socklen_t ai_addrlen; char *ai_canonname; struct sockaddr *ai_addr; struct addrinfo *ai_next; }; static int sourceroute(struct addrinfo *ai, char *arg, char **cpp, int *lenp, int *protop, int *optp) { static char buf[1024 + ALIGNBYTES]; char *cp, *cp2, *lsrp, *ep; struct sockaddr_in *_sin; #ifdef INET6 struct sockaddr_in6 *sin6; struct ip6_rthdr *rth; #endif struct addrinfo hints, *res;
рдпрд╣рд╛рдБ uninitialized рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рдорд╛рди рдорд╛рдорд▓рд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐
res рдПрдХ uninitialized рдкреЙрдЗрдВрдЯрд░ рд╣реИ рдЬреЛ рдпрд╣рд╛рдБ рд╣реЛрддрд╛ рд╣реИред
рд╕реНрдерд╛рдиреАрдп рдЪрд░ 'рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд' рдХреЗ рд▓рд┐рдП
V506 рд╕реВрдЪрдХ рдЗрд╕ рдЪрд░ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рдкреЙрдЗрдВрдЯрд░ рдЕрд╡реИрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛ред TextView.cpp 5596
void BTextView::_ApplyStyleRange(...., const BFont* font, ....) { if (font != NULL) { BFont normalized = *font; _NormalizeFont(&normalized); font = &normalized; } .... fStyles->SetStyleRange(fromOffset, toOffset, fText->Length(), mode, font, color); }
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд╕рдВрднрд╡рддрдГ рдордзреНрдпрд╡рд░реНрддреА рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЕрдм
рдлрд╝реЙрдиреНрдЯ рдкреЙрдЗрдВрдЯрд░ рдореЗрдВ
рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕реНрдХреЛрдк рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд╣рд╛рдВ рдЕрд╕реНрдерд╛рдпреА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбрдЪреЗрдпрд░ .pp 27
int8 BUnicodeChar::Type(uint32 c) { BUnicodeChar(); return u_charType(c); }
C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рдмреАрдЪ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддреА рд╣реИ рдХрд┐ рдХреНрд▓рд╛рд╕ рдлрд┐рд▓реНрдб рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ / рдиреНрдпреБрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рдХреЙрд▓ рдХреЛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╡рд░реНрдЧ рдлрд╝реАрд▓реНрдб рдХрд╛ рд╕рдВрд╢реЛрдзрди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд░реНрдЧ рдХреА рдПрдХ рдирдИ рдЕрдирд╛рдо рд╡рд╕реНрддреБ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдФрд░ рдлрд┐рд░ рддреБрд░рдВрдд рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдРрд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реНрдерд╛рди рд╣реИрдВ:
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбрдЪрд╛рд░ред рд╕реАрдкреА 37
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбреЗрдХрд░ред 49 49
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбрдЪреЗрдпрд░ .pp 58
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбреЗрдХрд░ред рд╕реАрдкреА 67
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбреЗрдХрд░ .pp 77
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдиреАрдХреЛрдбрдХреНрд░реЙрдкред 89
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбреЗрдХрд░ред рд╕реАрдкреА 103
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдиреАрдХреЛрдбрдХреНрд░реЙрдкред 115
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбрдЪрд╛рд░ред рд╕реАрдкреАрд╕реА 126
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбреЗрдХрд░ .pp 142
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбрдЪреЗрдпрд░ред 152 152
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбреЗрдХрд░ред рд╕реАрдкреАрдпреВ 163
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдиреАрдХреЛрдбрдХреНрд░реЙрдкред 186
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбрдЪрд╛рд░ .Cpp 196
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбрдЪрд╛рд░ .Cpp 206
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбрдЪрд╛рд░ред 214
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбрдЪрд╛рд░ред 222
- V603 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 'рдпрд╣-> рдмреБрдЙрдирд┐рдХреЛрдбреЗрдХрд░ :: рдмреБрдЙрдирд┐рдХреЛрдбреЗрдЪрд░ (....)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреВрдирд┐рдХреЛрдбрдЪрд╛рд░ред рд╕реАрдкреАрдпреВ 230
V670 ized fInternal тАЩрд╕рджрд╕реНрдп рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирдЖрд░реНрдЧреЗрдирд╛рдЗрдЬреНрдб рдХреНрд▓рд╛рд╕ рдореЗрдВрдмрд░ 'fPatternHandler' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рдЕрдВрджрд░ рдЙрдирдХреА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреЗрдВрдЯрд░.рдХрдВрдк 184
Painter::Painter() : fInternal(fPatternHandler), .... fPatternHandler(), .... { .... }; class Painter { .... private: mutable PainterAggInterface fInternal;
рдЧрд▓рдд рдЖрд░рдВрднреАрдХрд░рдг рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдгред рд╡рд░реНрдЧ рдлрд╝реАрд▓реНрдб рдХреЛ рдЙрдирдХреЗ рд╡рд░реНрдЧ рдореЗрдВ рд╣реА рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ,
рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓рд┐рдЬреНрдб fPatternHandler рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рдлрд╝рд╛рдЗрдиреЗрдЯрд░реА рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж #define
V523 'рддрддреНрдХрд╛рд▓реАрди' рдХрдерди 'рдФрд░' рдХрдерди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред subr_gtaskqueue.c 191
#define TQ_LOCK(tq) \ do { \ if ((tq)->tq_spin) \ mtx_lock_spin(&(tq)->tq_mutex); \ else \ mtx_lock(&(tq)->tq_mutex); \ } while (0) #define TQ_ASSERT_LOCKED(tq) mtx_assert(&(tq)->tq_mutex, MA_OWNED) #define TQ_UNLOCK(tq) \ do { \ if ((tq)->tq_spin) \ mtx_unlock_spin(&(tq)->tq_mutex); \ else \ mtx_unlock(&(tq)->tq_mutex); \ } while (0) void grouptask_block(struct grouptask *grouptask) { .... TQ_LOCK(queue); gtask->ta_flags |= TASK_NOENQUEUE; gtaskqueue_drain_locked(queue, gtask); TQ_UNLOCK(queue); }
рдпрд╣ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рддрдм рддрдХ рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рдЬрдм рддрдХ рдЖрдк рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддреЗ:
void grouptask_block(struct grouptask *grouptask) { .... do { if ((queue)->tq_spin) mtx_lock(&(queue)->tq_mutex); else mtx_lock(&(queue)->tq_mutex); } while (0); gtask->ta_flags |= 0x4; gtaskqueue_drain_locked(queue, gtask); do { if ((queue)->tq_spin) mtx_unlock(&(queue)->tq_mutex); else mtx_unlock(&(queue)->tq_mutex); } while (0); }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣реА рд╣реИ -
рдЕрдЧрд░ рдФрд░
рдЕрдиреНрдп рд╢рд╛рдЦрд╛рдПрдВ рд╕рдорд╛рди рд╣реИрдВред рд▓реЗрдХрд┐рди
mtx_lock_spin рдФрд░
mtx_unlock_spin рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛рдБ рд╣реИрдВ? рдореИрдХреНрд░реЛрдЬрд╝
TQ_LOCK ,
TQ_UNLOCK рдФрд░
grouptask_block рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рдЧрднрдЧ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣рд╛рдВ рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реБрдЖред
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬ рдХреЗрд╡рд▓
рдореНрдпреВрдЯреЗрдХреНрд╕ рдореЗрдВ рд╣реБрдИред рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде:
#define mtx_lock_spin(x) mtx_lock(x) #define mtx_unlock_spin(x) mtx_unlock(x)
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдРрд╕рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВред рдореИрдВрдиреЗ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХреА рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдЬрдЧрд╣ рдореБрдЭреЗ рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рд▓рдЧреАред
рдореБрдХреНрдд рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпрд╛рдБ
V575 null рдкреЙрдЗрдВрдЯрд░ рдХреЛ 'рдлреНрд░реА' рдлрдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред setmime.cpp 727
void MimeType::_PurgeProperties() { fShort.Truncate(0); fLong.Truncate(0); fPrefApp.Truncate(0); fPrefAppSig.Truncate(0); fSniffRule.Truncate(0); delete fSmallIcon; fSmallIcon = NULL; delete fBigIcon; fBigIcon = NULL; fVectorIcon = NULL;
рдЖрдк
рдирд┐: рд╢реБрд▓реНрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдирд▓ рдкреЙрдЗрдВрдЯрд░ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдЙрдкрдпреЛрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрджрд┐рдЧреНрдз рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдХреЛрдб рдХреА рдорд┐рд╢реНрд░рд┐рдд рд▓рд╛рдЗрдиреЗрдВ рдорд┐рд▓реАрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреЛрдб рд▓реЗрдЦрдХ рдХреЛ
fVectorIcon рдкреЙрдЗрдВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдореЗрдореЛрд░реА рдЬрд╛рд░реА
рдХрд░рдиреА рдереА , рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА
NULL рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред
V575 null рдкреЙрдЗрдВрдЯрд░ рдХреЛ 'рдлреНрд░реА' рдлрдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред Driver_settings.cpp 461
static settings_handle * load_driver_settings_from_file(int file, const char *driverName) { .... handle = new_settings(text, driverName); if (handle != NULL) {
рдпрд╣
рдирд┐: рд╢реБрд▓реНрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╢рдХреНрдд рд╕реВрдЪрдХ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдлрд╝рдВрдХреНрд╢рди рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддрд╛ рд╣реИред
V575 null рдкреЙрдЗрдВрдЯрд░ рдХреЛ 'рдлреНрд░реА' рдлрдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред PackageFileHeapWriter.cpp 166
void* _GetBuffer() { .... void* buffer = malloc(fBufferSize); if (buffer == NULL && !fBuffers.AddItem(buffer)) { free(buffer); throw std::bad_alloc(); } return buffer; }
рдХрд┐рд╕реА рдиреЗ рдпрд╣рд╛рдБ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреАред || рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ && рдХреЗ рдмрдЬрд╛рдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдХреЗрд╡рд▓ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ
std :: bad_alloc () рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рд╕реНрдореГрддрд┐ рдЖрдмрдВрдЯрди (
Malloc рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░) рд╡рд┐рдлрд▓ рд░рд╣рд╛ред
рдбрд┐рд▓реАрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпрд╛рдВ
V611 рд╕реНрдореГрддрд┐ рдХреЛ 'рдирдП рдЯреА []' рдСрдкрд░реЗрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди 'рдбрд┐рд▓реАрдЯ' рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдХреЛрдб рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╢рд╛рдпрдж 'рдбрд┐рд▓реАрдЯ [] fMsg;' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред Err.cpp 65
class Err { public: .... private: char *fMsg; ssize_t fPos; }; void Err::Unset() { delete fMsg;
FMsg рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд░реНрдгреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдбрд┐рд▓реАрдЯ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ
рдбрд┐рд▓реАрдЯ [] рдХреЗ рдмрдЬрд╛рдп рдореЗрдореЛрд░реА рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
V611 рдореЗрдореЛрд░реА рдХреЛ 'рдирдП' рдСрдкрд░реЗрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди 'рдореБрдлреНрдд' рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред 'рд░реИрдкрд░рдкреВрд▓' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рдкреАрдЫреЗ рдСрдкрд░реЗрд╢рди рд▓реЙрдЬрд┐рдХреНрд╕ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред vm_page.cpp 3080
status_t vm_page_write_modified_page_range(....) { .... PageWriteWrapper* wrapperPool = new(malloc_flags(allocationFlags)) PageWriteWrapper[maxPages + 1]; PageWriteWrapper** wrappers = new(malloc_flags(allocationFlags)) PageWriteWrapper*[maxPages]; if (wrapperPool == NULL || wrappers == NULL) { free(wrapperPool);
рдпрд╣рд╛рдВ
malloc_flags рдПрдХ рдРрд╕рд╛ рдХрд╛рд░реНрдп рд╣реИ, рдЬрд┐рд╕реЗ
malloc рдХрд╣рддреЗ рд╣реИрдВред рдлрд┐рд░
рдкреНрд▓реЗрд╕рдореЗрдВрдЯ-рдирдпрд╛ рдпрд╣рд╛рдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред
PageWriteWrapper рд╡рд░реНрдЧ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
class PageWriteWrapper { public: PageWriteWrapper(); ~PageWriteWrapper(); void SetTo(vm_page* page); bool Done(status_t result); private: vm_page* fPage; struct VMCache* fCache; bool fIsActive; }; PageWriteWrapper::PageWriteWrapper() : fIsActive(false) { } PageWriteWrapper::~PageWriteWrapper() { if (fIsActive) panic("page write wrapper going out of scope but isn't completed"); }
рдореЗрдореЛрд░реА рдХреЛ
рдореБрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдирд┐: рд╢реБрд▓реНрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдЗрд╕ рдХреНрд▓рд╛рд╕рд╡реЙрдЯрд░ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
V611 рд╕реНрдореГрддрд┐ рдХреЛ 'рдирдП рдЯреА []' рдСрдкрд░реЗрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди 'рдбрд┐рд▓реАрдЯ' рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдХреЛрдб рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╕рдВрднрд╡рддрдГ 'рдбрд┐рд▓реАрдЯ [] fOutBuffer?' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЬрд╛рдБрдЪ рд▓рд╛рдЗрдиреЗрдВ: 26, 45. PCL6Rasterizer.h 26
class PCL6Rasterizer : public Rasterizer { public: .... ~PCL6Rasterizer() { delete fOutBuffer; fOutBuffer = NULL; } .... virtual void InitializeBuffer() { fOutBuffer = new uchar[fOutBufferSize]; } private: uchar* fOutBuffer; int fOutBufferSize; };
рдбрд┐рд▓реАрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЛ
рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп
[] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рд╣реИ
ред рдХрдХреНрд╖рд╛ рд▓рд┐рдЦрддреЗ рд╕рдордп рдЧрд▓рддреА рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдХреЛрдб рдЕрдХреНрд╕рд░ рдореЗрдореЛрд░реА рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рджреВрд░ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдБ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд╖реНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИ рдореЗрдореЛрд░реА рдХреЛ
fOutBuffer рдкреЙрдЗрдВрдЯрд░ рджреНрд╡рд╛рд░рд╛
рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдореЗрдВ рдЬрдорд╛ рдХрд░рддрд╛ рд╣реИред
V772 рд╢реВрдиреНрдп рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд▓рд┐рдП 'рдбрд┐рд▓реАрдЯ' рдСрдкрд░реЗрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдЧрд╛ред рд╣реИрд╢рдЯреЗрдмрд▓ред рд╕реАрдкреАрд╕реА 207
void Hashtable::MakeEmpty(int8 keyMode,int8 valueMode) { .... for (entry = fTable[index]; entry; entry = next) { switch (keyMode) { case HASH_EMPTY_DELETE:
рдбрд┐рд▓реАрдЯ /
рдбрд┐рд▓реАрдЯ [] рдФрд░
рдореБрдлреНрдд рдХреЗ рдмреАрдЪ рдПрдХ рдЧрд▓рдд рд╡рд┐рдХрд▓реНрдк рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рднреА рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЛ void рдкреНрд░рдХрд╛рд░
(рд╢реВрдиреНрдп *) рд╕реЗ рдореЗрдореЛрд░реА рдХреЛ рдЦрд╛рд▓реА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдХреЗ рдмрд┐рдирд╛ рдХрд╛рд░реНрдп
V591 рдЧреИрд░-рд╢реВрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд░реЗрдлрд░реЗрдВрд╕реЗрдмрд▓ред 228
BReference& operator=(const BReference<const Type>& other) { fReference = other.fReference; }
рдПрдХ рдЕрддрд┐рднрд╛рд░рд┐рдд рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕реА рдорд╛рди рдХрд╛ рдЕрднрд╛рд╡ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдСрдкрд░реЗрдЯрд░ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдорд╛рди рд▓реМрдЯрд╛рдПрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдЕрдЬреАрдм рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рдпрд╣рд╛рдБ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдЕрдиреНрдп рдХреЛрдб рдЕрдВрд╢реЛрдВ рдореЗрдВ рд╕рдорд╛рди рдореБрджреНрджреЗ рд╣реИрдВ:
- V591 рдЧреИрд░-рд╢реВрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд░реЗрдлрд░реЗрдВрд╕реЗрдмрд▓ред 233
- V591 рдЧреИрд░-рд╢реВрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд░реЗрдлрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдпред 239
V591 рдЧреИрд░-рд╢реВрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред main.c 1010
void errx(int, const char *, ...) ; char * getoptionvalue(const char *name) { struct option *c; if (name == NULL) errx(1, "getoptionvalue() invoked with NULL name"); c = getoption(name); if (c != NULL) return (c->value); errx(1, "getoptionvalue() invoked with unknown option '%s'", name); }
рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЯрд┐рдкреНрдкрдгреА рдиреЛрдЯрд░реАрдб рдХрд╛ рдпрд╣рд╛рдВ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдареАрдХ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдиреЛрдЯрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреЛрдЯреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдиреЛрд░рдЯрд░реНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реИрдВ: рдорд╛рдирдХ рдФрд░ рд╕рдВрдХрд▓рдХ-рд╡рд┐рд╢рд┐рд╖реНрдЯред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдЪрд┐рдд рдХреЛрдб рдкреАрдврд╝реА рдпрд╛ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреАрдбрд╝реЗ рдХреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рднреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЦрд╛рддреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред
рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛
V596 рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред 'рдереНрд░реЛ' рдХреАрд╡рд░реНрдб рдЧрд╛рдпрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: ParseException (FOO) рдХреЛ рдлреЗрдВрдХ рджреЗрдВ; рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ .рдХрдВрдкрдиреА 659
size_t Response::ExtractNumber(BDataIO& stream) { BString string = ExtractString(stream); const char* end; size_t number = strtoul(string.String(), (char**)&end, 10); if (end == NULL || end[0] != '\0') ParseException("Invalid number!"); return number; }
рдХреАрд╡рд░реНрдб
рдереНрд░реЛ рдЧрд▓рддреА рд╕реЗ рдпрд╣рд╛рдВ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░,
ParseException рдЕрдкрд╡рд╛рдж рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрдмрдХрд┐ рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреБрдВрдЬрд╛рдЗрд╢ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдкрд░ рдмрд╕ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдлрд╝рдВрдХреНрд╢рди рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ, рдЬреИрд╕реЗ рдХрд┐ рд╕рд╣реА рд╕рдВрдЦреНрдпрд╛ рджрд░реНрдЬ рдХреА рдЧрдИ рдереАред
V1022 рдПрдХ рдЕрдкрд╡рд╛рдж рд╕реВрдЪрдХ рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореВрд▓реНрдп рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред gensyscallinfos.cpp 316
int main(int argc, char** argv) { try { return Main().Run(argc, argv); } catch (Exception& exception) {
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рд╕реВрдЪрдХ рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХреЗ рдЧрдП
IOException рдЕрдкрд╡рд╛рдж рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдлреЗрдВрдХрдиреЗ рд╕реЗ рддрдереНрдп рдпрд╣ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдкрдХрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдЕрдкрд╡рд╛рдж рдХреЛ рдЕрдВрддрддрдГ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрдЪрд┐рдВрдЧ рдкрдХреНрд╖ рдХреЛ
рд╣рдЯрд╛рдП рдЧрдП рдСрдкрд░реЗрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореБрджреНрджреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЗ рдЕрдиреНрдп рдЯреБрдХрдбрд╝реЗ:
- V1022 рдПрдХ рдЕрдкрд╡рд╛рдж рд╕реВрдЪрдХ рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореВрд▓реНрдп рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред gensyscallinfos.cpp 347
- V1022 рдПрдХ рдЕрдкрд╡рд╛рдж рд╕реВрдЪрдХ рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореВрд▓реНрдп рджреНрд╡рд╛рд░рд╛ рдлреЗрдВрдХрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред gensyscallinfos.cpp 413
рдФрдкрдЪрд╛рд░рд┐рдХ рд╕реБрд░рдХреНрд╖рд╛
V597 рд╕рдВрдХрд▓рдХ 'рдореЗрдорд╕реЗрдЯ' рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ 'f_key' рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдЬреА рдбреЗрдЯрд╛ рдХреЛ рдорд┐рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП memset_s () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред dst_api.c 1018
#ifndef SAFE_FREE #define SAFE_FREE(a) \ do{if(a != NULL){memset(a,0, sizeof(*a)); free(a); a=NULL;}} while (0) .... #endif DST_KEY * dst_free_key(DST_KEY *f_key) { if (f_key == NULL) return (f_key); if (f_key->dk_func && f_key->dk_func->destroy) f_key->dk_KEY_struct = f_key->dk_func->destroy(f_key->dk_KEY_struct); else { EREPORT(("dst_free_key(): Unknown key alg %d\n", f_key->dk_alg)); } if (f_key->dk_KEY_struct) { free(f_key->dk_KEY_struct); f_key->dk_KEY_struct = NULL; } if (f_key->dk_key_name) SAFE_FREE(f_key->dk_key_name); SAFE_FREE(f_key); return (NULL); }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рд╕рдВрджрд┐рдЧреНрдз рдХреЛрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╕реБрд░рдХреНрд╖рд┐рдд рдирд┐рдЬреА рдбреЗрдЯрд╛ рд╕рдорд╛рд╢реЛрдзрди рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ,
SAFE_FREE рдореИрдХреНрд░реЛ, рдЬреЛ
рдореЗрдорд╕реЗрдЯ ,
рдлреНрд░реА рдХреЙрд▓ рдФрд░
NULL рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдореЗрдВ рдлреИрд▓рддрд╛ рд╣реИ, рдХреЛрдб рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╕рднреА рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм
O2 рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреВрд▓рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡реИрд╕реЗ, рдпрд╣ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рдмрд▓реНрдХрд┐
CWE-14 : рдХрдВрдкрд╛рдЗрд▓рд░ рд░рд┐рдореВрд╡рд▓ рдСрдлрд╝ рдХреЛрдб рдЯреВ рдХреНрд▓реАрдпрд░ рдмрдлрд╝рд░реНрд╕ рд╣реИред
рдпрд╣рд╛рдВ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ, рдЬрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдлрд╝рд░реНрд╕ рдХреЛ рд╕рд╛рдлрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- V597 рд╕рдВрдХрд▓рдХ 'рдореЗрдорд╕реЗрдЯ' рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ 'рдПрдиреНрдХреЛрдбреЗрдб_рдмреНрд▓реЙрдХ' рдмрдлрд░ рдХреЛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдЬреА рдбреЗрдЯрд╛ рдХреЛ рдорд┐рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП memset_s () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред dst_api.c 446
- V597 рд╕рдВрдХрд▓рдХ 'рдореЗрдорд╕реЗрдЯ' рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ 'key_st' рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдЬреА рдбреЗрдЯрд╛ рдХреЛ рдорд┐рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП memset_s () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред dst_api.c 685
- V597 рд╕рдВрдХрд▓рдХ 'рдореЗрдорд╕реЗрдЯ' рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ 'in_buff' рдмрдлрд░ рдХреЛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдЬреА рдбреЗрдЯрд╛ рдХреЛ рдорд┐рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП memset_s () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред dst_api.c 916
- V597 рд╕рдВрдХрд▓рдХ 'рдореЗрдорд╕реЗрдЯ' рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ 'рд╕реА' рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдЬреА рдбреЗрдЯрд╛ рдХреЛ рдорд┐рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП memset_s () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред fs_cache.c 1078
рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд░ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛
V547 рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 'рд╢реЗрд╖ <0' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИред Unsign рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рдХрднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ <0ред DwarfFile.cpp 1947
status_t DwarfFile::_UnwindCallFrame(....) { .... uint64 remaining = lengthOffset + length - dataReader.Offset(); if (remaining < 0) return B_BAD_DATA; .... }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд░ рдХреА рд╕реНрдкрд╖реНрдЯ рддреБрд▓рдирд╛ рдХреАред рд╢рд╛рдпрдж, рдХрд┐рд╕реА рдХреЛ
рд╢реЗрд╖ рдЪрд░ рдХреА рддреБрд▓рдирд╛ рдХреЗрд╡рд▓ рдирд▓ рдХреЗ рд╕рд╛рде рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдпрд╛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдиреАрдВрдж ((рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд) рд╕реЗрдХрдВрдб) <0 'рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рдХрднреА рдирд╣реАрдВ рд╣реИ <0ред Misc.cpp 56
status_t snooze(bigtime_t amount) { if (amount <= 0) return B_OK; int64 secs = amount / 1000000LL; int64 usecs = amount % 1000000LL; if (secs > 0) { if (sleep((unsigned)secs) < 0)
рддреНрд░реБрдЯрд┐ рдХреЗ рдореБрдЦреНрдп рдмрд┐рдВрджреБ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд▓реЛ
рдиреАрдВрдж рдФрд░
рдмреЗрдХрд╛рд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
extern unsigned int sleep (unsigned int __seconds); extern int usleep (__useconds_t __useconds);
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ,
рд╕реНрд▓реАрдк рдлрд╝рдВрдХреНрд╢рди рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧрд▓рдд рд╣реИред
рдЦрддрд░рдирд╛рдХ рд╕рдВрдХреЗрдд
V774 рдореЗрдореЛрд░реА рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж 'рдбрд┐рд╡рд╛рдЗрд╕' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред xhci.cpp 1572
void XHCI::FreeDevice(Device *device) { uint8 slot = fPortSlots[device->HubPort()]; TRACE("FreeDevice() port %d slot %d\n", device->HubPort(), slot);
рдбрд┐рд▓реАрдЯ рдСрдкрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ
рдбрд┐рд╡рд╛рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ
рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣
FreeDevice рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд╣реИред рд▓реЗрдХрд┐рди, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╕реЗ рд╣рдЯрд╛рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдРрд╕рд╛ рдХреЛрдб рдмреЗрд╣рдж рдЦрддрд░рдирд╛рдХ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрдИ рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рднреА рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- V774 рдореЗрдореЛрд░реА рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж 'рд╕реЗрд▓реНрдл' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред TranslatorRoster.cpp 884
- V774 рдореЗрдореЛрд░реА рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж 'рд╕реНрдЯреНрд░рд┐рдВрдЧ' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред RemoteView.cpp 1269
- V774 рдореЗрдореЛрд░реА рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж 'bs' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред mkntfs.c 4291
- V774 рдореЗрдореЛрд░реА рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж 'bs' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред mkntfs.c 4308
- V774 'рдЕрд▓' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрдореЛрд░реА рдХреЗ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред inode.c 1155
V522 рдирд▓ рд╕реВрдЪрдХ 'рдбреЗрдЯрд╛' рдХреА рдбреЗрд░реЗрдлреЗрд░рд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИред рдирд▓ рдкреЙрдЗрдВрдЯрд░ рдХреЛ 'malo_hal_send_helper' рдлрдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреАрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 350, 394. if_malohal.c 350
static int malo_hal_fwload_helper(struct malo_hal *mh, char *helper) { .... error = malo_hal_send_helper(mh, 0, NULL, 0, MALO_NOWAIT);
Interprocedural рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЬрдм
NULL рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рди рдХреЗ рд╕рд╛рде
рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯрд░ рдЕрдВрддрддрдГ
рдореЗрдорд╕реАрдкреА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ dereferenced рдЬрд╛рддрд╛ рд╣реИред
V773 'inputFileFile' рдкреЙрдЗрдВрдЯрд░ рдЬрд╛рд░реА рдХрд┐рдП рдмрд┐рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╕рдВрднрд╡ рд╣реИред command_recompress.cpp 119
int command_recompress(int argc, const char* const* argv) { .... BFile* inputFileFile = new BFile; error = inputFileFile->SetTo(inputPackageFileName, O_RDONLY); if (error != B_OK) { fprintf(stderr, "Error: Failed to open input file \"%s\": %s\n", inputPackageFileName, strerror(error)); return 1; } inputFile = inputFileFile; .... }
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдореЛрд░реА рд▓реАрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрдореЛрд░реА рдЬрд╛рд░реА рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред рдХреЛрдИ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрднреА рднреА рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рд╣реИред рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдФрд░ рдХрд╛рдо рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
V595 nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'fReply' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рд▓рд╛рдЗрдиреЗрдВ: 49, 52.
RPC::CallbackReply* ReplyBuilder::Reply() { fReply->Stream().InsertUInt(fStatusPosition, _HaikuErrorToNFS4(fStatus)); fReply->Stream().InsertUInt(fOpCountPosition, fOpCount); if (fReply == NULL || fReply->Stream().Error() == B_OK) return fReply; else return NULL; }
рдпрд╣ рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддреА рд╣реИред
V595 рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред рдЗрд╕ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ
fReply рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЦрддрд░рдирд╛рдХ рдЙрдкрдпреЛрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИред
V595 nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'mq' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 782, 786. oce_queue.c 782
static void oce_mq_free(struct oce_mq *mq) { POCE_SOFTC sc = (POCE_SOFTC) mq->parent; struct oce_mbx mbx; struct mbx_destroy_common_mq *fwcmd; if (!mq) return; .... }
рдПрдХ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдгред Mg рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд▓ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдорд╛рди рд╕реНрдерд╛рди рд╣реИрдВред рдХреБрдЫ рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ, рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдФрд░ рдЬрд╛рдВрдЪ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдХрд╛рдлреА рджреВрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЖрдкрдХреЛ рдРрд╕реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдХреЗрд╡рд▓ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓реЗрдВрдЧреЗред рдкреВрд░реНрдг рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рд╡рд┐рд╡рд┐рдз
V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 101
static void dump_acpi_namespace(acpi_ns_device_info *device, char *root, int indenting) { char output[320]; char tabs[255] = ""; .... strlcat(tabs, "|--- ", sizeof(tabs)); .... while (....) { uint32 type = device->acpi->get_object_type(result); snprintf(output, sizeof(output), "%s%s", tabs, result + depth); switch(type) { case ACPI_TYPE_INTEGER: strncat(output, " INTEGER", sizeof(output)); break; case ACPI_TYPE_STRING: strncat(output, " STRING", sizeof(output)); break; .... } .... } .... }
рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рдЕрдкрд░рд┐рдЪрд┐рдд рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП
рд╕реНрдЯреНрд░реИрд▓реЗрдЯ рдФрд░
рд╕реНрдЯреНрд░реЗрдВрдХрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рд╕реНрдЯреНрд░рдХреНрд▓реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдкреВрд░реЗ рдмрдлрд╝рд░ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рддреАрд╕рд░реА рджрд▓реАрд▓ рдХреЗ рд░реВрдк рдореЗрдВ
рд╕реНрдЯреНрд░реИрдХрдЯ рдлрдВрдХреНрд╢рди - рдПрдХ рдмрдлрд░ рдореЗрдВ рдореБрдХреНрдд рд╕реНрдерд╛рди рдХрд╛ рдЖрдХрд╛рд░, рдЬрд┐рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдорд╛рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдХреНрд╕рд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдкреВрд░реЗ рдмрдлрд░ рдЖрдХрд╛рд░ рдХреЛ
рд╕реНрдЯреНрд░реЗрдВрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдмрдлрд░ рдУрд╡рд░рдлрд╝реНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рдорд╛рди рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгреЛрдВ рдХреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдЧрд╛ред
рд╕реНрдЯреНрд░рд▓реИрдХ рдлрдВрдХреНрд╢рди рдореЗрдВ рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рддрд╛рд░реЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЯрд░реНрдорд┐рдирд▓ рдирд▓ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдпрд╣ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░реЗред
рдпрд╣рд╛рдБ рддрд╛рд░ рдХреЗ рд╕рд╛рде рдЦрддрд░рдирд╛рдХ рд╕реНрдерд╛рдиреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рд╣реИ:
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 104
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 107
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 110
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 113
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 118
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 119
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 120
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 123
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 126
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 129
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 132
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 135
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 138
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 141
- V645 'strncat' рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ 'рдЖрдЙрдЯрдкреБрдЯ' рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред NamespaceDump.cpp 144
- V645 'strncat' рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ 'features_string' рдмрдлрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред VirtioDevice.cpp 283
- V645 'strncat' рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ 'features_string' рдмрдлрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред VirtioDevice.cpp 284
- V645 'strncat' рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ 'features_string' рдмрдлрд░ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реАрдорд╛ рдореЗрдВ рдмрдлрд╝рд░ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдИ рд╡рд░реНрдг рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред VirtioDevice.cpp 285
V792 рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд 'SetDecoratorSettings' рдлрд╝рдВрдХреНрд╢рди | рд╡рд╛рдо рдСрдкрд░реЗрдВрдб рдХреЗ рдореВрд▓реНрдп рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рд╢рд╛рдпрдж, '' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред DesktopListener.cpp 324
class DesktopListener : public DoublyLinkedListLinkImpl<DesktopListener> { public: .... virtual bool SetDecoratorSettings(Window* window, const BMessage& settings) = 0; .... }; bool DesktopObservable::SetDecoratorSettings(Window* window, const BMessage& settings) { if (fWeAreInvoking) return false; InvokeGuard invokeGuard(fWeAreInvoking); bool changed = false; for (DesktopListener* listener = fDesktopListenerList.First(); listener != NULL; listener = fDesktopListenerList.GetNext(listener)) changed = changed | listener->SetDecoratorSettings(window, settings); return changed; }
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, '|' рдФрд░ '||' рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рдардЧ рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рддреНрд░реБрдЯрд┐
SetDecoratorSettings рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЙрд▓ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред
V627 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред Sizeof () рдХрд╛ рддрд░реНрдХ рд╡рд╣ рдореИрдХреНрд░реЛ рд╣реИ рдЬреЛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рддрдХ рдлреИрд▓рддрд╛ рд╣реИред device.c 72
#define PCI_line_size 0x0c static status_t wb840_open(const char* name, uint32 flags, void** cookie) { .... data->wb_cachesize = gPci->read_pci_config(data->pciInfo->bus, data->pciInfo->device, data->pciInfo->function, PCI_line_size, sizeof(PCI_line_size)) & 0xff; .... }
рдЖрдХрд╛рд░ рдСрдкрд░реЗрдЯрд░ рдХреЛ
0x0c рдорд╛рди рдкрд╛рд╕ рдХрд░рдирд╛ рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рд▓рдЧрддрд╛ рд╣реИред рд╢рд╛рдпрдж, рд▓реЗрдЦрдХ рдХреЛ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдбреЗрдЯрд╛ ред
V562 18: 0x12 == IsProfessionalSpdif () рдХреЗ рдорд╛рди рдХреЗ рд╕рд╛рде рдмреВрд▓ рдЯрд╛рдЗрдк рдорд╛рди рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЕрдЬреАрдм рд╣реИред CEchoGals_mixer.cpp 533
typedef bool BOOL; virtual BOOL IsProfessionalSpdif() { ... } #define ECHOSTATUS_DSP_DEAD 0x12 ECHOSTATUS CEchoGals::ProcessMixerFunction(....) { .... if ( ECHOSTATUS_DSP_DEAD == IsProfessionalSpdif() )
IsProfessionalSpdif рдлрд╝рдВрдХреНрд╢рди
рдмреВрд▓ рдкреНрд░рдХрд╛рд░ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ
0x12 рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдХреА
рдЬрд╛рддреА рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╣рдо рдкрд╣рд▓реЗ рд╣рд╛рдЗрдХреБ рдмреАрдЯрд╛ рдЕрдВрддрд┐рдо рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рд░рд┐рд▓реАрдЬ рд╕реЗ рдЪреВрдХ рдЧрдП, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛ рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдореЗрдВ рд╡реНрдпрд╕реНрдд рдереЗред рдлрд┐рд░ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкреНрд░рдХреГрддрд┐ рдРрд╕реА рд╣реИ рдХрд┐ рд╡реЗ рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЙрдирдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ
рдХрд╡рд░рд┐рдЯреА рд╕реНрдХреИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдВрддрд┐рдо рд░рди рд▓рдЧрднрдЧ рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдерд╛ред рдЗрд╕рд╕реЗ рд╣рд╛рдЗрдХреБ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд░реЗрд╢рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рднрд▓реЗ рд╣реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ 2014 рдореЗрдВ рдХрд╡рд░реЗрдЬ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рд╣рдореЗрдВ 2015 рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдкрд░ рджреЛ рд▓рдВрдмреЗ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрд╛ (
рднрд╛рдЧ 1 ,
рднрд╛рдЧ 2 )
рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдПрдХ рдФрд░ рд╣рд╛рдЗрдХреБ рд╕рдореАрдХреНрд╖рд╛ рдЬрд▓реНрдж рд╣реА рд╕рд╛рдордиреЗ рдЖ рд░рд╣реА рд╣реИ рдЬреЛ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдЕрдВрдд рддрдХ рдкрдврд╝рддреЗ рд╣реИрдВред рдЗрд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкреВрд░реНрдг рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬреА рдЬрд╛рдПрдЧреА, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк рдЗрд╕реЗ рдкрдврд╝ рд░рд╣реЗ рд╣реЛрдВ, рддрдм рддрдХ рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдареАрдХ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рд▓реЗрдЦреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред
рдХреНрдпрд╛ рдЖрдк рд╣рд╛рдЗрдХреБ рдХреЛ рдЖрдЬрдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╡рд╛рд▓ рд╣реИрдВ? рд╣рд╛рдЗрдХреБ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЖрдкрдХреЛ
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо-рдЪреИрдирд▓ рдкрд░ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред