Theo de Raadt pridal zmenu, ktorá zakazuje používanie znaku s nulovým kódom v shell skriptoch spracovávaných predvoleným príkazovým interpretom ksh. Prítomnosť nulových znakov v skriptoch teraz povedie k ukončeniu vykonávania s chybovým výstupom, okrem prípadov, keď sa nachádzajú medzi údajmi, pripojenými na konci súboru za kódom. Zmena je zahrnutá v zostave vetvy OpenBSD-Current, na základe ktorej bude vytvorená verzia OpenBSD 7.6.
Bolo poznamenané, že takáto zmena umožní vylúčiť nejasnosti správania súvisiace s výkonom znaku nula v kóde napísanom v jazyku C, ktorý používa reťazce, kde je nulový bajt použitý na indikáciu konca reťazca. Skúmanie spracovania nulového znaku v rôznych shelloch ukázalo, že v každom z nich sa objavilo jedno alebo viaceré prípady, kedy nulový bajt vo vstupných údajoch alebo obsahu premenných spôsoboval odlišné správanie v porovnaní s inými shellmi; napríklad niektoré shelly ho ignorovali, iné nahrádzali medzerou a niektoré zastavili ďalšie spracovanie skriptu alebo ukončili jeho vykonávanie.
Zdroj: opennet.ru
