рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдХрд╛рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдердВрдбрд░рдмрд░реНрдб рдХрд╛ рдбрд╛рд░реНрдХ рдереАрдо

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

рдкрд░рд┐рдЪрдп


рдирдП рдердВрдбрд░рдмрд░реНрдб рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдбрд╛рд░реНрдХ рдереАрдо рдмрд╣реБрдд рд╕реБрдВрджрд░ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рдбрд╛рд░реНрдХ рдереАрдо рдкрд╕рдВрдж рд╣реИрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдиреНрд╣реЗрдВ рд╕рдВрджреЗрд╢рд╡рд╛рд╣рдХ, рд╡рд┐рдВрдбреЛрдЬ, рдореИрдХрдУрдПрд╕ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред рдЬрд▓реНрдж рд╣реА iPhone рдПрдХ рдЕрдВрдзреЗрд░реЗ рд╡рд┐рд╖рдп рдХреЗ рд╕рд╛рде iOS 13 рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рдореБрдЭреЗ рдирдП рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ iPhone 5S рдХреЛ рдмрджрд▓рдирд╛ рдкрдбрд╝рд╛ред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд░рдВрдЧреЛрдВ рдХреЛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрдзреЗрд░реЗ рд╡рд┐рд╖рдп рдХреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд░ рдХреЛрдИ рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдердВрдбрд░рдмрд░реНрдб рдореЗрдВ рдпрд╣ рдорд╛рдирдХ рдЯреИрдЧ рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ:

рдЪрд┐рддреНрд░ 1


рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдИрдореЗрд▓ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 6 рдЯреИрдЧ (5 рдорд╛рдирдХ +1 рдХрд╕реНрдЯрдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж рдЙрдирдореЗрдВ рд╕реЗ рдЖрдзреЗ рдХреЛ рджреЗрдЦрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд░рдВрдЧ рдХреЛ рдПрдХ рдЙрдЬреНрдЬрд╡рд▓ рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдореИрдВ рдПрдХ рдмрдЧ рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЧрдпрд╛:

рдЪрд┐рддреНрд░ 2


рдЖрдк рдПрдХ рдЯреИрдЧ рд░рдВрдЧ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ !!! рдЕрдзрд┐рдХ рд╕рд╣реА рдорд╛рдпрдиреЗ рдореЗрдВ, рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдкрд╛рджрдХ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдирд╛рдо (WTF ???) рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕реЗ рд╕рд╣реЗрдЬрдиреЗ рдирд╣реАрдВ рджреЗрдЧрд╛ред

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

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

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

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

рдиреЛрдЯ 2. рдЬрдм рдореИрдВ рд▓реЗрдЦ рд▓рд┐рдЦ рд░рд╣рд╛ рдерд╛, рдердВрдбрд░рдмрд░реНрдб 68.1 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рдмрдЧ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

рдЪрд┐рддреНрд░ 5


рдХреЙрдо


рдХрдо-рд╕реЗрдВрдЯреНрд░рд▓ рдердВрдбрд░рдмрд░реНрдб, рд╕реАрдореЛрдВрдХреА рдФрд░ рд▓рд╛рдЗрдЯрдирд┐рдВрдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛрдб рдХрд╛ рдПрдХ рдорд░рдХрд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИред

V501 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ ('! Strcmp (рд╢реАрд░реНрд╖рд▓реЗрдЦ, "рдЙрддреНрддрд░-рдкреНрд░рддрд┐"))' рдмрд╛рдИрдВ рдУрд░ 'рдФрд░' рдХреЗ рджрд╛рдИрдВ рдУрд░ '|| рдСрдкрд░реЗрдЯрд░ред nsEmitterUtils.cpp 28

extern "C" bool EmitThisHeaderForPrefSetting(int32_t dispType, const char *header) { .... if (nsMimeHeaderDisplayTypes::NormalHeaders == dispType) { if ((!strcmp(header, HEADER_DATE)) || (!strcmp(header, HEADER_TO)) || (!strcmp(header, HEADER_SUBJECT)) || (!strcmp(header, HEADER_SENDER)) || (!strcmp(header, HEADER_RESENT_TO)) || (!strcmp(header, HEADER_RESENT_SENDER)) || (!strcmp(header, HEADER_RESENT_FROM)) || (!strcmp(header, HEADER_RESENT_CC)) || (!strcmp(header, HEADER_REPLY_TO)) || (!strcmp(header, HEADER_REFERENCES)) || (!strcmp(header, HEADER_NEWSGROUPS)) || (!strcmp(header, HEADER_MESSAGE_ID)) || (!strcmp(header, HEADER_FROM)) || (!strcmp(header, HEADER_FOLLOWUP_TO)) || (!strcmp(header, HEADER_CC)) || (!strcmp(header, HEADER_ORGANIZATION)) || (!strcmp(header, HEADER_REPLY_TO)) || (!strcmp(header, HEADER_BCC))) return true; else return false; .... } 

рд╣реЗрдбрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рджреЛ рдмрд╛рд░ HEADER_REPLY_TO рдХреЗ рд╕рд╛рде рдХреА рдЧрдИ рдереАред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рдФрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

V501 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ 'obj-> рд╡рд┐рдХрд▓реНрдк-> рд╢реАрд░реНрд╖рд▓реЗрдЦ! = MimeHeadersCitation' рдмрд╛рдИрдВ рдУрд░ рдФрд░ '&&' рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ред mimemsig.cpp 536

 static int MimeMultipartSigned_emit_child(MimeObject *obj) { .... if (obj->options && obj->options->headers != MimeHeadersCitation && obj->options->write_html_p && obj->options->output_fn && obj->options->headers != MimeHeadersCitation && sig->crypto_closure) { .... } .... } 

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

V517 'if (A) {...} рдХрд╛ рдЙрдкрдпреЛрдЧ if (A) {...}' рдкреИрдЯрд░реНрди рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЪреЗрдХ рд▓рд╛рдЗрдиреНрд╕: 1306, 1308. рдореЗрдкреАрдЕрдкреА.рдХреИрдк 1306

 void CMapiApi::ReportLongProp(const char *pTag, LPSPropValue pVal) { if (pVal && (PROP_TYPE(pVal->ulPropTag) == PT_LONG)) { nsCString num; nsCString num2; num.AppendInt((int32_t)pVal->Value.l); num2.AppendInt((int32_t)pVal->Value.l, 16); MAPI_TRACE3("%s %s, 0x%s\n", pTag, num, num2); } else if (pVal && (PROP_TYPE(pVal->ulPropTag) == PT_NULL)) { MAPI_TRACE1("%s {NULL}\n", pTag); } else if (pVal && (PROP_TYPE(pVal->ulPropTag) == PT_ERROR)) { // <= MAPI_TRACE1("%s {Error retrieving property}\n", pTag); } else if (pVal && (PROP_TYPE(pVal->ulPropTag) == PT_ERROR)) { // <= MAPI_TRACE1("%s {Error retrieving property}\n", pTag); } else { MAPI_TRACE1("%s invalid value, expecting long\n", pTag); } if (pVal) MAPIFreeBuffer(pVal); } 

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

V517 'if (A) {...} рдХрд╛ рдЙрдкрдпреЛрдЧ if (A) {...}' рдкреИрдЯрд░реНрди рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 777, 816. nsRDFContentSink.cpp 777

 nsresult RDFContentSinkImpl::GetIdAboutAttribute(const char16_t** aAttributes, nsIRDFResource** aResource, bool* aIsAnonymous) { .... if (localName == nsGkAtoms::about) { .... } else if (localName == nsGkAtoms::ID) { .... } else if (localName == nsGkAtoms::nodeID) { nodeID.Assign(aAttributes[1]); } else if (localName == nsGkAtoms::about) { // XXX we don't deal with aboutEach... //MOZ_LOG(gLog, LogLevel::Warning, // ("rdfxml: ignoring aboutEach at line %d", // aNode.GetSourceLineNumber())); } .... } 

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

V522 рдирд▓ рдкреЙрдЗрдВрдЯрд░ 'рдкрдВрдХреНрддрд┐' рдХреА рдбреЗрд░реЗрдлреЗрд░рд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИред morkRowCellCursor.cpp 175

 NS_IMETHODIMP morkRowCellCursor::MakeCell( // get cell at current pos in the row nsIMdbEnv* mev, // context mdb_column* outColumn, // column for this particular cell mdb_pos* outPos, // position of cell in row sequence nsIMdbCell** acqCell) { nsresult outErr = NS_OK; nsIMdbCell* outCell = 0; mdb_pos pos = 0; mdb_column col = 0; morkRow* row = 0; morkEnv* ev = morkEnv::FromMdbEnv(mev); if (ev) { pos = mCursor_Pos; morkCell* cell = row->CellAt(ev, pos); if (cell) { col = cell->GetColumn(); outCell = row->AcquireCellHandle(ev, cell, col, pos); } outErr = ev->AsErr(); } if (acqCell) *acqCell = outCell; if (outPos) *outPos = pos; if (outColumn) *outColumn = col; return outErr; } 

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкрдВрдХреНрддрд┐ рдЕрд╢рдХреНрдд рд╕реВрдЪрдХ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдЪрд▓рди:

 morkCell* cell = row->CellAt(ev, pos); 

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдПрдХ рд╕реВрдЪрдХ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, GetRow рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛, рдЖрджрд┐ред

V543 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдорд╛рди '-1' HRESULT рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ 'm_lastError' рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред MapiApi.cpp 1050

 class CMapiApi { .... private: static HRESULT m_lastError; .... }; CMsgStore *CMapiApi::FindMessageStore(ULONG cbEid, LPENTRYID lpEid) { if (!m_lpSession) { MAPI_TRACE0("FindMessageStore called before session is open\n"); m_lastError = -1; return NULL; } .... } 

HRESULT рдкреНрд░рдХрд╛рд░ рдПрдХ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдмрд┐рдЯреНрд╕ рддреНрд░реБрдЯрд┐ рд╡рд┐рд╡рд░рдг рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреНрд░реБрдЯрд┐ рдХреЛрдб рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреБрдЫ рдЯреБрдХрдбрд╝реЗ:

  • V543 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдорд╛рди '-1' HRESULT рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ 'm_lastError' рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред MapiApi.cpp 817
  • V543 рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдорд╛рди '-1' HRESULT рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ 'm_lastError' рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред MapiApi.cpp 1749

V579 рдореЗрдорд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рд╕реВрдЪрдХ рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдПрдХ рдЧрд▓рддреА рд╣реИред рддреАрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред icalmime.c 195

 icalcomponent* icalmime_parse(....) { struct sspm_part *parts; int i, last_level=0; icalcomponent *root=0, *parent=0, *comp=0, *last = 0; if ( (parts = (struct sspm_part *) malloc(NUM_PARTS*sizeof(struct sspm_part)))==0) { icalerror_set_errno(ICAL_NEWFAILED_ERROR); return 0; } memset(parts,0,sizeof(parts)); sspm_parse_mime(parts, NUM_PARTS, /* Max parts */ icalmime_local_action_map, /* Actions */ get_string, data, /* data for get_string*/ 0 /* First header */); .... } 

рднрд╛рдЧреЛрдВ рдЪрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рд╣реИред рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдореЗрдорд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдкреЙрдЗрдВрдЯрд░ рдЖрдХрд╛рд░ рдХреЛ рдореЗрдореЛрд░реА рд╕реНрдкреЗрд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ред

рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рдВрджрд┐рдЧреНрдз рдЯреБрдХрдбрд╝реЗ:

  • V579 рдореЗрдорд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рд╕реВрдЪрдХ рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдПрдХ рдЧрд▓рддреА рд╣реИред рддреАрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред icalmime.c 385
  • V579 рдореЗрдорд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рд╕реВрдЪрдХ рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдПрдХ рдЧрд▓рддреА рд╣реИред рддреАрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред icalparameter.c 114
  • V579 рд╕реНрдирд┐рдкреНрд░рдл рдлрд╝рдВрдХреНрд╢рди рд╕реВрдЪрдХ рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдПрдХ рдЧрд▓рддреА рд╣реИред рджреВрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред icaltimezone.c 1908
  • V579 рд╕реНрдирд┐рдкреНрд░рдл рдлрд╝рдВрдХреНрд╢рди рд╕реВрдЪрдХ рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдПрдХ рдЧрд▓рддреА рд╣реИред рджреВрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред icaltimezone.c 1910
  • V579 strncmp рдлрд╝рдВрдХреНрд╢рди рд╕реВрдЪрдХ рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдПрдХ рдЧрд▓рддреА рд╣реИред рддреАрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред sspm.c 707
  • V579 strncmp рдлрд╝рдВрдХреНрд╢рди рд╕реВрдЪрдХ рдФрд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдПрдХ рдЧрд▓рддреА рд╣реИред рддреАрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред sspm.c 813

V595 nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 'aValues' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 553, 555. nsLDAPMessage.cpp 553

 NS_IMETHODIMP nsLDAPMessage::GetBinaryValues(const char *aAttr, uint32_t *aCount, nsILDAPBERValue ***aValues) { .... *aValues = static_cast<nsILDAPBERValue **>( moz_xmalloc(numVals * sizeof(nsILDAPBERValue))); if (!aValues) { ldap_value_free_len(values); return NS_ERROR_OUT_OF_MEMORY; } .... } 

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

рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕рд╣реА рд╣реИ рдХрд┐ aValues рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдкрд╣рд▓реЗ рдбрд┐рд░реЗрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдлрд┐рд░ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддреНрд░реБрдЯрд┐ рдЕрд▓рдЧ рд╣реИред рдпрд╣ рдПрдХ рдбрдмрд▓ рдкреЙрдЗрдВрдЯрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╣реА рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

 *aValues = static_cast<nsILDAPBERValue **>( moz_xmalloc(numVals * sizeof(nsILDAPBERValue))); if (!*aValues) { ldap_value_free_len(values); return NS_ERROR_OUT_OF_MEMORY; } 

рдПрдХ рдФрд░ рд╕рдорд╛рди рдЯреБрдХрдбрд╝рд╛:

  • V595 nullptr рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ '_retval' рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 357, 358. nsLDAPSyncQuery.cpp 357

V1044 рд▓реВрдк рдмреНрд░реЗрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред mimemoz2.cpp 1795

 void ResetChannelCharset(MimeObject *obj) { .... if (cSet) { char *ptr2 = cSet; while ((*cSet) && (*cSet != ' ') && (*cSet != ';') && (*cSet != '\r') && (*cSet != '\n') && (*cSet != '"')) ptr2++; if (*cSet) { PR_FREEIF(obj->options->default_charset); obj->options->default_charset = strdup(cSet); obj->options->override_charset = true; } PR_FREEIF(cSet); } .... } 

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

рдиреЗрдЯрд╡рд░реНрдХ


netwerk рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкрд╣реБрдВрдЪ (рд╕реЙрдХреЗрдЯреНрд╕ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдореЗрдореЛрд░реА рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ) рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдкрд╣реБрдВрдЪ (http, ftp, gopher, castanet рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рд╕реА рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕ рдХреЛрдб рдХреЛ "рдиреЗрдЯрд▓рд┐рдм" рдФрд░ "рдиреЗрдХреЛ" рдирд╛рдореЛрдВ рд╕реЗ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

V501 рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ 'connectStarted' рдмрд╛рдИрдВ рдУрд░ рдФрд░ '&&' рдСрдкрд░реЗрдЯрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╣реИрдВред nSSocketTransport2.cpp 1693

 nsresult nsSocketTransport::InitiateSocket() { .... if (gSocketTransportService->IsTelemetryEnabledAndNotSleepPhase() && connectStarted && connectCalled) { // <= good, line 1630 SendPRBlockingTelemetry( connectStarted, Telemetry::PRCONNECT_BLOCKING_TIME_NORMAL, Telemetry::PRCONNECT_BLOCKING_TIME_SHUTDOWN, Telemetry::PRCONNECT_BLOCKING_TIME_CONNECTIVITY_CHANGE, Telemetry::PRCONNECT_BLOCKING_TIME_LINK_CHANGE, Telemetry::PRCONNECT_BLOCKING_TIME_OFFLINE); } .... if (gSocketTransportService->IsTelemetryEnabledAndNotSleepPhase() && connectStarted && connectStarted) { // <= fail, line 1694 SendPRBlockingTelemetry( connectStarted, Telemetry::PRCONNECT_FAIL_BLOCKING_TIME_NORMAL, Telemetry::PRCONNECT_FAIL_BLOCKING_TIME_SHUTDOWN, Telemetry::PRCONNECT_FAIL_BLOCKING_TIME_CONNECTIVITY_CHANGE, Telemetry::PRCONNECT_FAIL_BLOCKING_TIME_LINK_CHANGE, Telemetry::PRCONNECT_FAIL_BLOCKING_TIME_OFFLINE); } .... } 

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

V611 рд╕реНрдореГрддрд┐ рдХреЛ 'рдирдП рдЯреА []' рдСрдкрд░реЗрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди 'рдбрд┐рд▓реАрдЯ' рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдХреЛрдб рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╢рд╛рдпрдж 'рдбрд┐рд▓реАрдЯ [] рдордбрд╛рдЯрд╛?' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдЬрд╛рдБрдЪ рд░реЗрдЦрд╛рдПрдБ: 233, 222. рдбреЗрдЯрд╛рдЪреИрди.рд▓рд┐рдк 233

 BufferedOutgoingMsg::BufferedOutgoingMsg(OutgoingMsg& msg) { size_t length = msg.GetLeft(); auto* tmp = new uint8_t[length]; // infallible malloc! memcpy(tmp, msg.GetData(), length); mLength = length; mData = tmp; mInfo = new sctp_sendv_spa; *mInfo = msg.GetInfo(); mPos = 0; } BufferedOutgoingMsg::~BufferedOutgoingMsg() { delete mInfo; delete mData; } 

MData рдкреЙрдЗрдВрдЯрд░ рдПрдХ рд╕рд░рдгреА рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╡рд╕реНрддреБ рдирд╣реАрдВред рдбрд┐рд▓реАрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреЛрд╖реНрдардХ рдЧреБрдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдХрдХреНрд╖рд╛ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИред

V1044 рд▓реВрдк рдмреНрд░реЗрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред ParseFTPList.cpp 691

 int ParseFTPList(....) { .... pos = toklen[2]; while (pos > (sizeof(result->fe_size) - 1)) pos = (sizeof(result->fe_size) - 1); memcpy(result->fe_size, tokens[2], pos); result->fe_size[pos] = '\0'; .... } 

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

gfx


gfx рдореЗрдВ C рд╕реНрд╡рддрдВрддреНрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рдордВрдЪ рд╕реНрд╡рддрдВрддреНрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдФрд░ рдЗрдореЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдпрддреЛрдВ, рд░реЗрдЦрд╛рдУрдВ, рдЪрд┐рддреНрд░реЛрдВ рдЖрджрд┐ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдпрд╣ рдПрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╕реНрд╡рддрдВрддреНрд░ рдбрд┐рд╡рд╛рдЗрд╕ (рдбреНрд░рд╛рдЗрдВрдЧ) рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдпрд╣ рд╡рд┐рдЧреЗрдЯреНрд╕ рдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреНрд░рд╛рдЗрдВрдЧ рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЛ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ; рдпрд╣ рд╕рд┐рд░реНрдл рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрджрд┐рдо рд╕рдВрдЪрд╛рд▓рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

V501 рдмрд╛рдИрдВ рдФрд░ 'рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕рдорд╛рди рдЙрдк-рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ' || рдСрдкрд░реЗрдЯрд░: mVRSystem || mVRCompositor || mVRSystem OpenVRSession.cpp 876

 void OpenVRSession::Shutdown() { StopHapticTimer(); StopHapticThread(); if (mVRSystem || mVRCompositor || mVRSystem) { ::vr::VR_Shutdown(); mVRCompositor = nullptr; mVRChaperone = nullptr; mVRSystem = nullptr; } } 

MVRSystem рдЪрд░ рджреЛ рдмрд╛рд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЗрд╕рдХреА рдПрдХ рдШрдЯрдирд╛ рдХреЛ mVRChaperone рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ред

рдбреЛрдо


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

V570 'clonedDoc-> mPreloadReferrerInfo' рд╡реЗрд░рд┐рдПрдмрд▓ рдЦреБрдж рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред Document.cpp 12049

 already_AddRefed<Document> Document::CreateStaticClone( nsIDocShell* aCloneContainer) { .... clonedDoc->mReferrerInfo = static_cast<dom::ReferrerInfo*>(mReferrerInfo.get())->Clone(); clonedDoc->mPreloadReferrerInfo = clonedDoc->mPreloadReferrerInfo; .... } 

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

XPCOM


xpcom рдореЗрдВ рдирд┐рдореНрди рд╕реНрддрд░ рдХреЗ C рдЗрдВрдЯрд░рдлреЗрд╕, C рдХреЛрдб, C рдХреЛрдб, рдЕрд╕реЗрдВрдмрд▓реА рдХреЛрдб рдФрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ XPCOM рдШрдЯрдХреЛрдВ (рдЬреЛ "рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрдВрдкреЛрдиреЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓" рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред XPCOM рдПрдХ рдРрд╕рд╛ рддрдВрддреНрд░ рд╣реИ рдЬреЛ рдореЛрдЬрд╝рд┐рд▓рд╛ рдХреЛ рдЗрдВрдЯрд░рдлреЗрд╕ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП Microsoft COM рдФрд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдореЛрдЬрд╝рд┐рд▓рд╛ рд╕реА рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИред

V611 рдореЗрдореЛрд░реА рдХреЛ ' рдореЙрд▓реЛрдХ / рд░рд┐рдпрд▓рд▓реЛрдХ' рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди 'рдбрд┐рд▓реАрдЯ' рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред 'рдХреБрдВрдЬреА' рдЪрд░ рдХреЗ рдкреАрдЫреЗ рдСрдкрд░реЗрд╢рди рд▓реЙрдЬрд┐рдХреНрд╕ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 143, 140. nsINIParser.h 143

 struct INIValue { INIValue(const char* aKey, const char* aValue) : key(strdup(aKey)), value(strdup(aValue)) {} ~INIValue() { delete key; delete value; } void SetValue(const char* aValue) { delete value; value = strdup(aValue); } const char* key; const char* value; mozilla::UniquePtr<INIValue> next; }; 

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

рдЖрд░рдВрднреАрдХрд░рдг рдореЗрдВ V716 рд╕рдВрджрд┐рдЧреНрдз рдкреНрд░рдХрд╛рд░ рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг: 'HRESULT var = BOOL'ред SpecialSystemDirectory.cpp 73

 BOOL SHGetSpecialFolderPathW( HWND hwnd, LPWSTR pszPath, int csidl, BOOL fCreate ); static nsresult GetWindowsFolder(int aFolder, nsIFile** aFile) { WCHAR path_orig[MAX_PATH + 3]; WCHAR* path = path_orig + 1; HRESULT result = SHGetSpecialFolderPathW(nullptr, path, aFolder, true); if (!SUCCEEDED(result)) { return NS_ERROR_FAILURE; } .... } 

SHGetSpecialFolderPathW WinAPI рдлрд╝рдВрдХреНрд╢рди BOOL рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ, HRESULT рдирд╣реАрдВред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЪреЗрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред

nsprpub


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

V647 'int' рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рди 'рд╢реЙрд░реНрдЯ' рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: 'out_flags = 0x2'ред prsocket.c 1220

 #define PR_POLL_WRITE 0x2 static PRInt16 PR_CALLBACK SocketPoll( PRFileDesc *fd, PRInt16 in_flags, PRInt16 *out_flags) { *out_flags = 0; #if defined(_WIN64) if (in_flags & PR_POLL_WRITE) { if (fd->secret->alreadyConnected) { out_flags = PR_POLL_WRITE; return PR_POLL_WRITE; } } #endif return in_flags; } /* SocketPoll */ 

рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ out_flags рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕реНрдерд┐рд░ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗрд╡рд▓ рдЗрд╕реЗ рднреВрд▓ рдЧрдпрд╛ рд╣реИ:

 if (fd->secret->alreadyConnected) { *out_flags = PR_POLL_WRITE; return PR_POLL_WRITE; } 

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


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

рдПрдирдПрд╕рдПрд╕

V597 рд╕рдВрдХрд▓рдХ 'рдореЗрдорд╕реЗрдЯ' рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ 'newdeskey' рдмрдлрд░ рдХреЛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдЬреА рдбреЗрдЯрд╛ рдХреЛ рдорд┐рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП RtlSecureZeroMemory () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред pkcs11c.c 1033

 static CK_RV sftk_CryptInit(....) { .... unsigned char newdeskey[24]; .... context->cipherInfo = DES_CreateContext( useNewKey ? newdeskey : (unsigned char *)att->attrib.pValue, (unsigned char *)pMechanism->pParameter, t, isEncrypt); if (useNewKey) memset(newdeskey, 0, sizeof newdeskey); sftk_FreeAttribute(att); .... } 

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

WebRTC

V519 'рд╕реНрдЯреЗрдЯ [рд╕реНрдЯреЗрдЯ_рд▓рдЧреНрд░рд╛рдлрд╝реНрдЯ - x_length + i]' рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджреЛ рдмрд╛рд░ рдорд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 83, 84. filter_ar.c 84

 size_t WebRtcSpl_FilterAR(....) { .... for (i = 0; i < state_length - x_length; i++) { state[i] = state[i + x_length]; state_low[i] = state_low[i + x_length]; } for (i = 0; i < x_length; i++) { state[state_length - x_length + i] = filtered[i]; state[state_length - x_length + i] = filtered_low[i]; // <= } .... } 

рджреВрд╕рд░реЗ рд▓реВрдк рдореЗрдВ, рдбреЗрдЯрд╛ рдЧрд▓рдд рд╕рд░рдгреА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд▓реЗрдЦрдХ рдиреЗ рдХреЛрдб рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдФрд░ State_low рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рд╕рд░рдгреА рдирд╛рдо рдХреЛ рдмрджрд▓рдирд╛ рднреВрд▓ рдЧрдпрд╛ред

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

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


All Articles