рдХреЛрдбрдорд╛ рдмрдЧрд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди Intel рд▓реЗ ControlFlag рдореЗрд╕рд┐рди рд▓рд░реНрдирд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рдХреЛрдб рдЦреЛрд▓реНрдпреЛ

Intel рд▓реЗ рдХреЛрдб рдЧреБрдгрд╕реНрддрд░ рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдореЗрд╕рд┐рди рд▓рд░реНрдирд┐рдЩ рдкреНрд░рдгрд╛рд▓реА рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдЙрджреНрджреЗрд╢реНрдпрд▓реЗ ControlFlag рдЕрдиреБрд╕рдиреНрдзрд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╡рд┐рдХрд╛рд╕рд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдПрдХреЛ рдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛рджреНрд╡рд╛рд░рд╛ рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЯреБрд▓рдХрд┐рдЯрд▓реЗ рдЕрд╡рд╕реНрдерд┐рдд рдХреЛрдбрдХреЛ рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рдорд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЛрдбреЗрд▓рдХреЛ рдЖрдзрд╛рд░рдорд╛, C/C++ рдЬрд╕реНрддрд╛ рдЙрдЪреНрдЪ-рд╕реНрддрд░ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рд╕реНрд░реЛрдд рдкрд╛рдард╣рд░реВрдорд╛ рд╡рд┐рднрд┐рдиреНрди рддреНрд░реБрдЯрд┐рд╣рд░реВ рд░ рд╡рд┐рд╕рдВрдЧрддрд┐рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдпреЛ рдкреНрд░рдгрд╛рд▓реА рдХреЛрдбрдорд╛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫ, рдЯрд╛рдЗрдкреЛ рд░ рдЧрд▓рдд рдкреНрд░рдХрд╛рд░ рд╕рдВрдпреЛрдЬрдирд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдирджреЗрдЦрд┐, рдкреЛрдЗрдиреНрдЯрд░реНрд╕ рд░ рдореЗрдореЛрд░реА рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдорд╛ рд╣рд░рд╛рдЗрд░рд╣реЗрдХреЛ NULL рдорд╛рди рдЬрд╛рдБрдЪрд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдиред ControlFlag рдХреЛрдб C++ рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ MIT рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЫред

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

рд╕рдореАрдХреНрд╖рд╛ рдЕрдиреНрддрд░реНрдЧрдд рдХреЛрдбрд▓реЗ рд╕рдиреНрджрд░реНрдн рдирд┐рд░реНрдгрдп рд░реВрдЦ рд╡рд┐рд░реБрджреНрдз рдЬрд╛рдБрдЪ рдЧрд░рд┐рдПрдХрд╛ рдврд╛рдБрдЪрд╛рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдиреЗ рд╕рдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдмрд╛рдЯ рдЧреБрдЬреНрд░реНрдЫред рдЫрд┐рдореЗрдХреА рд╢рд╛рдЦрд╛рд╣рд░реВрд╕рдБрдЧ рдареВрд▓рд╛ рд╡рд┐рд╕рдВрдЧрддрд┐рд╣рд░реВрд▓реЗ рдЬрд╛рдБрдЪ рднрдЗрд░рд╣реЗрдХреЛ рдврд╛рдБрдЪрд╛рдорд╛ рд╡рд┐рд╕рдВрдЧрддрд┐рдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЯреЗрдореНрдкреНрд▓реЗрдЯрдорд╛ рддреНрд░реБрдЯрд┐ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рдорд╛рддреНрд░ рд╣реЛрдЗрди, рд╕рдЪреНрдпрд╛рдЙрди рд╕реБрдЭрд╛рд╡ рдкрдирд┐ рджрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, OpenSSL рдХреЛрдбрдорд╛, рдирд┐рд░реНрдорд╛рдг "(s1 == NULL) тИз (s2 == NULL)" рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ, рдЬреБрди рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рд░реВрдЦрдорд╛ 8 рдкрдЯрдХ рдорд╛рддреНрд░ рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛ, рдЬрдмрдХрд┐ рдорд╛рди "(s1 ==) рд╕рдБрдЧ рдирдЬрд┐рдХрдХреЛ рд╢рд╛рдЦрд╛ред рд╢реВрдиреНрдп) || (s2 == NULL)тАЭ рд▓рдЧрднрдЧ рен рд╣рдЬрд╛рд░ рдкрдЯрдХ рдЖрдпреЛред рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдПрдЙрдЯрд╛ рд╡рд┐рд╕рдВрдЧрддрд┐ рдкрдирд┐ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреЛ тАЬ(s7 == NULL) | (s1 == NULL)" рдЬреБрди рд░реВрдЦрдорд╛ рейреи рдкрдЯрдХ рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛред

рдХреЛрдбрдорд╛ рдмрдЧрд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди Intel рд▓реЗ ControlFlag рдореЗрд╕рд┐рди рд▓рд░реНрдирд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рдХреЛрдб рдЦреЛрд▓реНрдпреЛ

рдХреЛрдб рдЯреБрдХреНрд░рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрджрд╛ "рдпрджрд┐ (x = 7) y = x;" рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реЗрдХреЛ рдЫ рдХрд┐ "рдЪрд░ == рд╕рдВрдЦреНрдпрд╛" рдирд┐рд░реНрдорд╛рдг рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ "if" рдЕрдкрд░реЗрдЯрд░рдорд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдирд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдЕрддреНрдпрдзрд┐рдХ рд╕рдореНрднрд╛рд╡рдирд╛ рдЫ рдХрд┐ "if" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдорд╛ рд╕рдВрдХреЗрдд "рдЪрд░ = рд╕рдВрдЦреНрдпрд╛" рдХреЛ рдХрд╛рд░рдгрд▓реЗ рднрдПрдХреЛ рд╣реЛред рдЯрд╛рдЗрдкреЛред рдкрд░рдореНрдкрд░рд╛рдЧрдд рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╣рд░реВрд▓реЗ рдпрд╕реНрддреЛ рддреНрд░реБрдЯрд┐ рд╕рдорд╛рддреЗрдХрд╛ рдерд┐рдП, рддрд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╡рд┐рдкрд░реАрдд, ControlFlag рд▓реЗ рддрдпрд╛рд░ рдирд┐рдпрдорд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджреИрди, рдЬрд╕рдорд╛ рд╕рдмреИ рд╕рдореНрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рдЫ, рддрд░ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рддрдереНрдпрд╛рдЩреНрдХрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реБ рдХреЛред

рдПрдХ рдкреНрд░рдпреЛрдЧрдХреЛ рд░реВрдкрдорд╛, CURL рдЙрдкрдпреЛрдЧрд┐рддрд╛рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдбрдорд╛ ControlFlag рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ, рдЬреБрди рдкреНрд░рд╛рдп: рдЙрдЪреНрдЪ-рдЧреБрдгрд╕реНрддрд░ рд░ рдкрд░реАрдХреНрд╖рдг рдХреЛрдбрдХреЛ рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛ рдЙрджреНрдзреГрдд рдЧрд░рд┐рдиреНрдЫ, рд╕рдВрд░рдЪрдирд╛ рддрддреНрд╡ "s->keepon" рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХрд╣рд░реВрд▓реЗ рдкрддреНрддрд╛ рдирд▓рд╛рдЧреЗрдХреЛ рддреНрд░реБрдЯрд┐ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдпреЛ, рдЬрд╕рдХреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░ рдерд┐рдпреЛ, рддрд░ рдмреБрд▓рд┐рдпрди рдорд╛рди TRUE рд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред OpenSSL рдХреЛрдбрдорд╛, "(s1 == NULL) тИз (s2 == NULL)" рд╕рдБрдЧ рдорд╛рдерд┐ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, "(-2 == rv)" (рдорд╛рдЗрдирд╕ рдерд┐рдпреЛ) рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдорд╛ рдкрдирд┐ рд╡рд┐рд╕рдВрдЧрддрд┐рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдПрдХ рдЯрд╛рдЗрдкреЛ) рд░ "BIO_puts(bp, ":")

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди