Theo de Raadt je dodal spremembo, ki prepoveduje uporabo znaka z ničelno kodo v shell skriptih, ki jih obdeluje privzeti ukazni interpreter ksh. Zdaj bo prisotnost ničelnih znakov v skriptah povzročila prekinitev izvajanja z izpisom napake, razen v primerih, ko so ti znaki vključeni med podatki, priloženimi na koncu datoteke za kodo. Sprememba je vključena v vejt OpenBSD-Current, na podlagi katere bo ustvarjen izid OpenBSD 7.6.
Ugotovljeno je, da bo takšna sprememba izključila negotovost vedenja, povezano z obdelavo ničelnega znaka v kodi, napisanem v jeziku C in ki uporablja nize, kjer je ničelni bajt uporabljen za označevanje konca niza. Preučevanje obdelave ničelnega znaka v različnih lupinah je pokazalo, da je v vsaki od njih bilo odkrito eno ali več primerov, ko je ničelni bajt v vhodnih podatkih ali vsebini spremenljivk povzročil drugačno vedenje kot v drugih lupinah, na primer, nekatere lupine so ga ignorirale, nekatere so ga zamenjale s presledkom, nekatere pa so prekinile nadaljnje analiziranje skripte ali prenehale z njenim izvajanjem.
Izvor: opennet.ru
