UNIX : un bug de 33 ans tout juste corrigé

Le par  |  10 commentaire(s) Source : ComputerWorld
openbsd bsd

YACC est un programme développé en 1975 par Stephen C. Johnson d'AT&T pour un système UNIX maison. Ce n'est pourtant qu'aujourd'hui, 33 ans plus tard, qu'un développeur d'OpenBSD a identifié et corrigé un bug, qui n'affectait cependant que l'architecture SPARC64. Un record dans le monde UNIX!

openbsd bsdOpenBSD est un système d'exploitation libre de type UNIX. Il est bien connu pour l'importance qu'il accorde envers la sécurité, clamant que le système n'a connu que deux vulnérabilités distantes en dix ans. Cette position a d'ailleurs été vivement critiquée par Linus Torvalds, dans une envolée lyrique peu sympathique.

C'est un développeur suisse de ce système qui vient de redécouvrir et corriger un bug vieux de... 33 ans. Celui-ci avait en effet été découvert en 1975 dans un système UNIX d'AT&T. Il touchait le programme de conversion syntaxique YACC. Otto Moerbeek effectuait des tests pour implanter un programme d'allocation de mémoire, malloc, quand il a été prévenu par un utilisateur que certains programmes écrits en C++ sur SPARC64 ne pouvaient être compilés correctement.

Le développeur a alors découvert que YACC était la cause de cette erreur et l'a traquée, pour la retrouver dans UNIX version 6, sortie en 1975. C'est grâce à malloc et à ses nouvelles fonctions que Moerbeek a pu détecter les fuites de mémoire et déceler le bug. La portée du soucis était cependant très limitée puisqu'elle ne touchait que les systèmes sous architecture SPARC64. ll s'agit surtout du plus vieux bug corrigé dans le monde UNIX.
Complément d'information

Vos commentaires

Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #304671
Lol, le bug devait pas être si génant que ça pour que personne prenne le temps de s'en occuper .
Le #304701
Put@in 1975, mon année de naissance ...
Le #304741
La news n'est pas clair.
La source l'est un peu plus.

Le bug aurait été corrigé il y a 25 ans sur le system UNIX, mais ce n'est que maintenant qu'il a été trouvé, et corrigé sur le system BSD (il affecte aussi les variantes)

D'apres ce que j'ai cimpris de la source
D'ailleur voici la vrai source:
http://www.techworld.com/opsys/news/index.cfm?newsid=102127
Le #304771
Dire qu'il y en a encore qui sont sur Windows!
Oh pardon c'est vrai que Unix n'a rien à voir avec Linux...
(c'était mon premier troll gigogne, j'suis content!) <img src="/img/emo/cool.gif" alt="8:" />

Moi je n'ai pas de source, mais ça me fait cependant bien rigoler les commentaires!

Le #304801
Unix c'est pour les pros, nuance.

Sinon bravo à l'équipe d'OpenBSD, toujours premier sur la sécurité.
Le #304851
oldjohn, linux utilise plutôt bison, qui est l'implémentation gnu de yacc. Bison n'est pas impacté. Pro ou pas, peu d'importance.

aparté :
Fabien B. le logo d'OpenBSD est un sympathique poisson. La sphère cornue est pour FreeBSD.
Le #304861
"C'est grâce à malloc et à ses fonctions avancées pour détecter les fuites de mémoire"
--
depuis quand malloc a des "fonctions avancées pour détecter les fuites de memoires"???
Le #304901
+1 edzilla. Ça doit être des outils du type valgrind qui ont dû permettre de détecter les fuites.
Le #305011
Jarode : il ne me semble pas. Le bug de 25 ans dont parle la source a fait la une de plusieurs magazines en ligne il y a quelques mois. Il avait donc 25 ans d'ancienneté et a été corrigé en mai dernier. Celui-ci est aussi dans YACC mais est différent de celui de mai. Il a 33 ans et n'a été ni découvert ni corrigé jusqu'ici (mais je peux me tromper ).

KerTiaM : oui, coquille de ma part désolé. J'ai un peu trop vite rapproché le logo de Beastie, le daemon BSD!

edzilla : mauvaise formulation, vous avez raison.
Le #305301
N'ayant pas suivit l'affaire je ne peux pas dire.
sauf que c'est pas clair
Suivre les commentaires
Poster un commentaire
Anonyme
:) ;) :D ^^ 8) :| :lol: :p :-/ :o :w00t: :roll: :( :cry: :facepalm:
:andy: :annoyed: :bandit: :alien: :ninja: :agent: :doh: :@ :sick: :kiss: :love: :sleep: :whistle: =]