Eile mit Weile
33 Jahre alter Bug in Unix ausgemerzt
Der Fehler betrifft den YACC Parser Generator und ist noch älter, als der vor kurzer Zeit entdeckte BSD-Bug (25 Jahre alt). Gefunden hat die Ungereimtheit der OpenBSD-Entwickler Otto Moerbeek beim testen einer neuen Implementierung von malloc (memory allocator). Beim Kompilieren großer C++-Projekte auf Sparc64-Hardware mit dem neuen malloc, schlug dieses Unterfangen manchmal mit einem internen „Compiler Error“ fehl.
Moerbeek fand heraus, dass sich der Fehler in YACC befindet. Dieser Parser Generator wurde von Stephen C. Johnson von AT&T entwickelt und befindet sich seit 1970 in UNIX. Moerbeek konnte den Fehler bis zur sechsten Edition von UNIX zurückverfolgen. Der neue malloc löste den Fehler aus, weil seine neuen Funktionen Buffer Overflows besser abfangen würden. Der Fehler tritt angeblich außerdem nur auf Sparc64-Plattormen auf. (jdo)