Sa chroílár Linux Tá sé beartaithe ag 5.18 úsáid an chaighdeáin teanga C11 a cheadú

Agus sraith paistí á bplé chun fadhbanna a bhaineann le Specter a shocrú sa chód liosta nasctha, ba léir go bhféadfaí an fhadhb a réiteach ar bhealach níos galánta dá gceadófaí cód C a chomhlíonann leagan níos nuaí den chaighdeán isteach san eithne. Faoi láthair, caithfidh an cód eithne breise cloí leis an tsonraíocht ANSI C (C89), a foirmíodh siar i 1989.

Tharla fadhb a bhaineann le Specter sa chód nuair a leantar úsáid a bhaint as iterator a shainítear go leithleach tar éis an lúb - úsáidtear macra chun míreanna liosta nasctha a atriall, agus toisc go gcuirtear an t-iterator lúb isteach sa mhacra sin, is é sainithe lasmuigh den lúb féin agus tá sé fós ar fáil tar éis an lúb. Trí úsáid a bhaint as an gcaighdeán C99 d’fhéadfaí athróga lúba a shainiú i mbloc for(), rud a réiteodh an fhadhb gan a bheith ort teacht suas le réitigh oibre.

D’aontaigh Linus Torvalds leis an smaoineamh tacaíocht a chur i bhfeidhm do shonraíochtaí níos nuaí agus mhol sé an t-eithne 5.18 a bhogadh chun an caighdeán C11 a úsáid, a foilsíodh in 2011. Le linn na réamhthástála, ritheadh ​​an tionól i GCC agus Clang sa mhodh nua gan aon chlaonadh. Mura dtagann aon fhadhbanna gan choinne chun cinn le linn tástála níos críochnúla, cuirfear '--std=gnu5.18 -Wno-shift-negative-value' in ionad na rogha '--std=gnu89' sna scripteanna tógála eithne 11. Breathnaíodh freisin ar an bhféidearthacht caighdeán C17 a úsáid, ach sa chás seo bheadh ​​sé riachtanach an leagan íosta tacaithe de GCC a mhéadú. Tagann cuimsiú na tacaíochta C11 leis na ceanglais reatha do leagan GCC (5.1).

Foinse: oscailtenet.ru

Ceannaigh óstáil iontaofa do shuímh le cosaint DDoS, freastalaithe VPS VDS 🔥 Ceannaigh óstáil gréasáin iontaofa le cosaint DDoS, freastalaithe VPS VDS | ProHoster