Resuelto al fin un bug en BSD que tenía ya 25 años de edad

Open SourceSoftware

Un desarrollador de OpenBSD ha logrado determinar la causa y la solución a un error que afectaba a todas las versiones de BSD (incluida, por ejemplo Mac OS X) y que llevaba presente en ellas desde hacía 25 años. Más vale tarde que nunca.

El error surgía al trabajar con el protocolo Samba en máquinas con sistemas MS-DOS, en las cuales se producían fallos de consistencia en los datos transmitidos. Marc Balmer, un desarrollador de OpenBSD, se puso en contacto con los desarrolladores de Samba, que le explicaron que el código que se encargaba de leer directorios en la implementación de Samba en BSD estaba corrupto desde hacía 25 años. Aunque no les creyó inicialmente, se puso a investigar el problema.

Y finalmente pudo reproducirlo y averiguar la causa. El problema ocurría porque el código que borraba una entrada de directorio establecía su número de i-nodo a cero, pero el código que leía la entrada de directorio precisamente “pasaba” de cualquier entrada con un i-nodo con valor cero. Una simple modificación de la función readdir solucionó un problema que llevaba presente en BSD desde hacía 25 años. Incluso en versiones derivadas, como el sistema operativo de Apple, Mac OS X, que desciende también de este legendario sistema operativo.

vINQulos

The Inquirer UK

Leer la biografía del autor  Ocultar la biografía del autor