Famoahana ny ControlFlag 1.0, fitaovana iray hamantarana ny lesoka amin'ny kaody C

Intel dia namoaka ny famoahana lehibe voalohany amin'ny fitaovana ControlFlag 1.0, izay ahafahanao mamantatra ny lesoka sy ny tsy fetezana amin'ny kaody loharano amin'ny alΓ lan'ny rafitra fianarana milina voaofana amin'ny kaody efa misy. Tsy toy ny mpandinika static nentim-paharazana, ny ControlFlag dia tsy mampihatra fitsipika efa vita, izay sarotra ny manome ny safidy rehetra azo atao, fa mifototra amin'ny antontan'isa momba ny fampiasana fiteny samihafa amin'ny tetikasa efa misy. Ny kaody ControlFlag dia voasoratra amin'ny C ++ ary misokatra amin'ny alΓ lan'ny fahazoan-dΓ lana MIT.

Ny rafitra dia voaofana amin'ny alΓ lan'ny fananganana maodely statistika an'ireo kaody efa misy amin'ny tetikasa open-source navoaka tao amin'ny GitHub sy ireo trano fitehirizam-bahoaka mitovy aminy. Eo amin'ny dingana fanofanana, ny rafitra dia mamaritra ny lamina mahazatra amin'ny fananganana rafitra ao amin'ny fehezan-dalΓ na ary manangana hazo syntactic ny fifandraisana eo amin'ireo lamina ireo, maneho ny fikorianan'ny famonoana fehezan-dalΓ na ao amin'ny programa. Vokatr'izany dia miforona ny hazo fandraisana fanapahan-kevitra izay manambatra ny traikefa amin'ny fampandrosoana ny kaody loharano rehetra nodinihina. Ny kaody eo ambany fanaraha-maso dia mandalo dingana mitovy amin'ny famantarana ireo lamina izay voamarina amin'ny hazo fanapahan-kevitra. Ny tsy fitovian-kevitra lehibe amin'ny sampana mifanila aminy dia manondro ny fisian'ny tsy fetezana eo amin'ny lamina hojerena.

Famoahana ny ControlFlag 1.0, fitaovana iray hamantarana ny lesoka amin'ny kaody C

Ho ohatra amin'ny fahaizan'ny ControlFlag, dia nandinika ny kaody loharanon'ny tetikasa OpenSSL sy cURL ireo mpamorona:

  • Fanorenana anomaliana β€œ(s1 == NULL) ∧ (s2 == NULL)” ary β€œ(s1 == NULL) | (s2 == NULL)" , izay tsy mifanaraka amin'ny lamina ampiasaina matetika "(s1 == NULL) || (s2 == NULL)". Ny kaody koa dia nanondro ny anomalies amin'ny teny hoe "(-2 == rv)" (ny minus dia diso) sy "BIO_puts(bp, ":") <= 0)" (ao anatin'ny tontolon'ny fanamarinana ny fahavitan'ny fahombiazana asa tokony ho "== 0").
  • Ao amin'ny cURL, nisy hadisoana hita tsy hitan'ny mpanadihady static rehefa nampiasa ny singa firafitry "s-> keepon", izay manana karazana isa, fa nampitahaina tamin'ny sanda boolean TRUE.

Anisan'ireo endri-javatra amin'ny dikan-teny ControlFlag 1.0, dia misy fanohanana feno ho an'ny maodely manara-penitra ho an'ny fiteny C sy ny fahafahana mamantatra ny tsy mety amin'ny fehezanteny "raha". Ohatra, rehefa mandinika ny sombin-kaody "raha (x = 7) y = x;" Ny rafitra dia hamaritra fa ny fanambarana "raha" dia mampiasa ny fananganana "variable == isa" mba hampitahana ny soatoavina isa, noho izany dia azo inoana fa ny "variable = isa" amin'ny teny "raha" dia vokatry ny fahadisoana. Ny kitapo dia misy sora-baventy izay ahafahanao misintona ny fitehirizana fiteny C efa misy ao amin'ny GitHub ary mampiasa azy ireo hanamboarana ny modely. Misy ihany koa ny modely efa vita, izay ahafahanao manomboka manamarina ny code.

Source: opennet.ru

Add a comment