Developer fixes 33-year-old Unix bug

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 triggered only on Sparc64 systems.

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 Web sites 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.

This story, "Developer fixes 33-year-old Unix bug" was originally published by

Copyright © 2008 IDG Communications, Inc.

Download: EMM vendor comparison chart 2019
Shop Tech Products at Amazon