Theo de Raadt ha introdotto una modifica che vieta l'uso del carattere nullo negli script shell elaborati dall'interprete di comandi predefinito ksh. La presenza di caratteri nulli negli script ora comporterà la conclusione dell'esecuzione con un messaggio di errore, tranne nei casi in cui siano posizionati tra i dati allegati alla fine del file dopo il codice. La modifica è stata inclusa nel ramo OpenBSD-Current, da cui sarà generata la release OpenBSD 7.6.
Si segnala che questa modifica permetterà di eliminare l'incertezza del comportamento legata all'elaborazione del carattere nullo nel codice scritto in C, che utilizza stringhe in cui il byte nullo è coinvolto per indicare la fine della stringa. L'analisi del trattamento del carattere nullo in diverse shell ha mostrato che in ognuna di esse si sono riscontrati uno o più casi in cui il byte nullo nei dati di input o nel contenuto delle variabili ha portato a un comportamento differente rispetto ad altre shell, ad esempio alcune shell lo ignoravano, altre lo sostituivano con uno spazio, mentre alcune interrompevano ulteriormente l'analisi dello script o ne terminavano l'esecuzione.
Fonte: opennet.ru
