An OpenBSD developer has discovered and fixed a bug in the software that has been traced back to an AT&T version of Unix from 1975.
OpenBSD is a variant of the Berkeley Software Distribution (BSD), a widely used, open-source, Unix-like operating system. BSD's variants include OpenBSD, FreeBSD and NetBSD, and it forms the basis of Apple's Mac OS X operating system.
The latest bug, which affected the yacc parser generator, followed the May discovery of a BSD flaw that was 25 years old.
Otto Moerbeek, an OpenBSD developer, found the bug through the process of testing a new implementation of malloc, a general purpose memory allocator. A user alerted him that on the Sparc64 hardware platform and using the new malloc, compiling large C++ projects would sometimes fail with an internal compiler error.
He found that the bug was in yacc, a parser generator developed by Stephen C. Johnson at AT&T that has been a standard part of Unix since the 1970s.
"Funny thing is that I traced this back to Sixth Edition Unix, released in 1975," Moerbeek wrote in a note describing the bug.
The new malloc was able to trigger the bug because its new features give it a better chance of catching buffer overflows, Moerbeek said. He noted that the bug is only triggered on Sparc64 systems.
Moerbeek released a fix here.
In May, Marc Balmer, a Swiss developer closely involved with OpenBSD, found a 25-year-old flaw that proved to exist in all BSD variants including derivatives such as Mac OS X.
Commentators on IT enthusiast websites noted that 1975 is not long after the very beginning of the Unix universe, at least according to the system time used in Unix-like dating systems, which count time in seconds starting at 00:00:00 1 January, 1970.