Theo de Raadt a introdus o modificare care interzice utilizarea caracterului cu cod nul în shell scripturi, procesate de interpretorul de comenzi ksh folosit în mod implicit. Prezența caracterelor nule în scripturi va duce acum la terminarea execuției cu un mesaj de eroare, cu excepția cazurilor în care acestea sunt plasate în datele atașate la sfârșitul fișierului, după cod. Modificarea este inclusă în ramura OpenBSD-Current, pe baza căreia va fi formată versiunea OpenBSD 7.6.
Se remarcă faptul că o astfel de modificare va elimina incertitudinea comportamentului legată de procesarea caracterului nul în codul scris în limbajul C, care utilizează șiruri unde byte-ul nul este folosit pentru a indica sfârșitul șirului. Studiul procesării caracterului nul în diferite shell-uri a relevat că fiecare dintre acestea a avut unul sau mai multe cazuri în care byte-ul nul din datele de intrare sau din conținutul variabilelor a dus la un comportament diferit față de celelalte shell-uri; de exemplu, unele shell-uri îl ignorau, altele îl înlocuiau cu un spațiu, iar altele terminau analiza scriptului sau oprirea execuției.
Sursa: opennet.ro
