Tso Tawm ntawm ControlFlag 1.0, lub cuab yeej los txheeb xyuas qhov yuam kev hauv C code

Intel tau tshaj tawm thawj qhov kev tso tawm tseem ceeb ntawm ControlFlag 1.0 lub cuab yeej, uas tso cai rau koj txheeb xyuas qhov tsis raug thiab qhov tsis sib xws hauv cov cai siv lub tshuab kev kawm uas tau kawm ntau ntawm cov cai uas twb muaj lawm. Tsis zoo li cov tshuaj ntsuam xyuas zoo li qub, ControlFlag tsis siv cov cai npaj ua, uas nws nyuaj rau muab rau txhua qhov kev xaiv tau, tab sis yog raws li kev txheeb cais ntawm kev siv ntau hom lus tsim hauv ntau cov haujlwm uas twb muaj lawm. ControlFlag code yog sau rau hauv C ++ thiab yog qhib los ntawm MIT daim ntawv tso cai.

Lub kaw lus tau txais kev cob qhia los ntawm kev tsim cov qauv kev txheeb cais ntawm cov lej uas twb muaj lawm ntawm cov haujlwm qhib tau tshaj tawm hauv GitHub thiab cov chaw khaws ntaub ntawv pej xeem zoo sib xws. Nyob rau theem kev cob qhia, lub kaw lus txiav txim siab cov qauv tsim rau kev tsim cov qauv hauv cov cai thiab tsim ib tsob ntoo syntactic ntawm kev sib txuas ntawm cov qauv no, uas qhia txog kev khiav ntawm cov lej ua haujlwm hauv qhov program. Raws li qhov tshwm sim, ib tsob ntoo txiav txim siab siv tau raug tsim los ua ke nrog kev txhim kho ntawm txhua qhov kev txheeb xyuas cov lej. Txoj cai nyob rau hauv kev tshuaj xyuas tau dhau los ua cov txheej txheem zoo sib xws ntawm kev txheeb xyuas cov qauv uas raug tshuaj xyuas tawm tsam cov ntoo txiav txim siab siv. Qhov sib txawv loj nrog cov ceg nyob sib ze qhia tau tias muaj qhov tsis sib xws hauv cov qauv raug kuaj xyuas.

Tso Tawm ntawm ControlFlag 1.0, lub cuab yeej los txheeb xyuas qhov yuam kev hauv C code

Raws li ib qho piv txwv ntawm ControlFlag lub peev xwm, cov neeg tsim khoom tau tshuaj xyuas cov lej ntawm OpenSSL thiab cURL cov haujlwm:

  • Anomalous constructs β€œ(s1 == NULL) ∧ (s2 == NULL)” and β€œ(s1 == NULL) | (s2 == NULL)" , uas tsis phim tus qauv siv feem ntau "(s1 == NULL) || (s2 == NULL)". Cov cai kuj tau txheeb xyuas qhov tsis txaus ntseeg hauv cov kab lus "(-2 == rv)" (qhov rho tawm yog typo) thiab "BIO_puts(bp, ":") <= 0)" (nyob rau hauv cov ntsiab lus ntawm kev tshuaj xyuas qhov ua tiav ntawm kev ua tiav. function nws yuav tsum tau "== 0").
  • Hauv cURL, qhov yuam kev tau tshawb pom uas tsis pom los ntawm cov kws tshuaj ntsuam xyuas zoo li qub thaum siv cov qauv "s-> Keepon", uas muaj cov lej, tab sis tau muab piv nrog tus nqi boolean TRUE.

Ntawm cov yam ntxwv ntawm ControlFlag 1.0 version, muaj kev txhawb nqa tag nrho rau cov qauv qauv rau C hom lus thiab muaj peev xwm txheeb xyuas qhov tsis txaus ntseeg hauv cov xwm txheej "yog tias" kab lus. Piv txwv li, thaum txheeb xyuas cov kab lus "yog (x = 7) y = x;" Lub kaw lus yuav txiav txim siab tias "yog" nqe lus feem ntau siv "kuj hloov pauv = = tus lej" kev tsim kho los sib piv cov lej lej, yog li nws muaj feem ntau tias qhov "kuj hloov pauv = tus lej" hauv "yog" qhia tau tshwm sim los ntawm typo. Cov khoom siv suav nrog tsab ntawv uas tso cai rau koj rub tawm cov lus C uas twb muaj lawm ntawm GitHub thiab siv lawv los tsim cov qauv. Cov qauv npaj ua tiav kuj muaj, tso cai rau koj pib tshawb xyuas cov cai tam sim ntawd.

Tau qhov twg los: opennet.ru

Ntxiv ib saib