Solucionan un error en Unix presente desde 1975

Seguridad

Se han dado prisa. Un desarrollador de OpenBSD descubrió y reparó hace poco un bug que estaba presente en una versión AT&T de Unix desde hace 33 años.

OpenBSD es una variante del Berkeley Software Distribution (BSD), un sistema operativo basado en Unix, de código abierto y bastante utilizado. Entre sus variantes están OpenBSD, FreeBSD y NetBSD, y conforman la base del sistema operativo OS X de Apple.

El último error, que afecta al generador de análisis sintáctico YACC, sigue a uno que se descubrió en mayo y que tenía una antigüedad de 25 años.

Otto Moerbeek, desarrollador de OpenBSD, encontró el error al testear una nueva implementación de malloc, un distribuidor de memoria de gran funcionalidad. Un usuario le alertó de que la plataforma de hardware SPARC64, cuando se utilizaba el nuevo malloc para la compilación de grandes proyectos C++, provocaba algunos errores con el compilador interno.

Encontró que el error se encontraba en YACC, un generador de analizadores sintácticos desarrollado por Stephen C. Johnson en AT&T y que ha sido parte estándar de Unix desde los setenta.

El código de Johnson ha podido funcionar durante todo este tiempo porque el antiguo malloc no detectaba las saturaciones en el buffer de forma tan eficiente. El bug sólo se produce en los sistemas SPARC64.

vINQulos
Computerworld

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