Ho lokolloa ha ControlFlag 1.0, sesebelisoa sa ho khetholla liphoso ho khoutu ea C

Intel e phatlalalitse tokollo ea pele e kholo ea sesebelisoa sa ControlFlag 1.0, se u lumellang hore u khetholle liphoso le liphoso ho khoutu ea mohloli u sebelisa mokhoa oa ho ithuta oa mochini o koetlisitsoeng ka palo e kholo ea khoutu e teng. Ho fapana le bahlahlobisisi ba static ba setso, ControlFlag ha e sebelise melao e lokiselitsoeng, eo ho eona ho leng thata ho fana ka likhetho tsohle tse ka khonehang, empa e itšetlehile ka lipalo-palo tsa tšebeliso ea lipuo tse sa tšoaneng tse hahang ka palo e kholo ea merero e teng. Khoutu ea ControlFlag e ngotsoe ka C++ 'me e bulehile ka tlas'a laesense ea MIT.

Sistimi ena e koetlisoa ka ho aha mohlala oa lipalo-palo oa letoto le teng la liporojeke tse bulehileng tse phatlalalitsoeng ho GitHub le lipolokelo tsa sechaba tse tšoanang. Sethaleng sa koetliso, tsamaiso e etsa qeto ea mekhoa e tloaelehileng ea ho haha ​​​​mehaho ka khoutu mme e haha ​​​​sefate sa syntactic sa likamano pakeng tsa mekhoa ena, e bontšang phallo ea ts'ebetso ea khoutu lenaneong. Ka lebaka leo, ho thehoa sefate sa ho etsa liqeto tsa litšupiso se kopanyang phihlelo ea tsoelo-pele ea mekhoa eohle e hlahlobiloeng ea mohloli. Khoutu e ntseng e hlahlojoa e etsa ts'ebetso e ts'oanang ea ho khetholla lipaterone tse hlahlojoang khahlano le sefate sa qeto ea litšupiso. Ho se lumellane ho hoholo le makala a boahelani ho bontša ho ba teng ha anomaly ka mokhoa o hlahlojoang.

Ho lokolloa ha ControlFlag 1.0, sesebelisoa sa ho khetholla liphoso ho khoutu ea C

E le mohlala oa bokhoni ba ControlFlag, bahlahisi ba hlahlobile likhoutu tsa mohloli oa OpenSSL le merero ea cURL:

  • Mehaho e makatsang “(s1 == NULL) ∧ (s2 == NULL)” le “(s1 == NULL) | (s2 == NULL)" , tse sa lumellaneng le mokhoa o tloaelehileng o sebelisoang "(s1 == NULL) || (s2 == NULL)". Khoutu e boetse e bonts'a liphapang polelong "(-2 == rv)" (minus e ne e le typo) le "BIO_puts(bp, ":") <= 0)" (maeleng a ho lekola ho phethoa ka katleho ha tshebetso e ne e lokela ho ba "== 0").
  • Ho cURL, ho ile ha fumanoa phoso e sa kang ea fumanoa ke bahlahlobisisi ba tsitsitseng ha ba sebelisa sebopeho sa "s->keepon", se nang le mofuta oa linomoro, empa se bapisoa le boleng ba boolean TRUE.

Har'a likarolo tsa mofuta oa ControlFlag 1.0, ho na le ts'ehetso e felletseng bakeng sa litempele tse tloaelehileng bakeng sa puo ea C le bokhoni ba ho bona liphapang ka mantsoe a "haeba". Ka mohlala, ha u hlahloba sekhechana sa khoutu "haeba (x = 7) y = x;" Tsamaiso e tla etsa qeto ea hore polelo ea "haeba" e atisa ho sebelisa mohaho oa "variable == number" ho bapisa litekanyetso tsa linomoro, kahoo ho ka etsahala hore ebe "phapang = palo" polelong ea "haeba" e bakoa ke ho thaepa. Kit e kenyelletsa mongolo o o lumellang ho khoasolla lipolokelo tsa puo ea C ho GitHub le ho li sebelisa ho aha mohlala. Mefuta e lokiselitsoeng e boetse e teng, e u lumellang hore u qale hang-hang ho hlahloba khoutu.

Source: opennet.ru

Eketsa ka tlhaloso