Po prawie 25 latach odkryto i naprawiono błąd, jaki miał miejsce w systemach rodziny *BSD, oraz MacOS X.
Cała historia zaczęła się kilka dni temu, gdy jeden z developerów OpenBSD – Marc Balmer przeczytał e-mail od jednego z użytkowników, który twierdził, że SAMBA „umiera” podczas przeglądania zasobów z dosowym systemem plików. Po konsultacjach z developerami SAMBY okazał się, że pakiet ten wykorzystuje swoiste obejście w celu poprawnego działania w systemach *BSD. Z początku Balmer chciał rzucić winę na developerów samby, jednak zdecydował się na głębsze zbadanie sprawy. Tak oto odkrył błąd, który istniał już w w wersji 4.2, wydanej w 1983 roku.
Bug dawał o sobie znać tylko w jednej konkretnej sytuacji: Wyobraźmy sobie dwóch użytkowników przeglądających ten sam katalog. Obydwaj otwierają ten sam katalog, po czym jeden z nich usuwa jeden z plików. Próba otwarcia usuniętego pliku przez drugiego z użytkowników kończy się zaserwowaniem zawartości pliku następnego.
W liście dyskusyjnej do jednego ze źródeł (http://osnews.com/story/19731/) znalazłem informację, że błąd ten znany jest już od trzech lat. Dlaczego zatem nie załatano go wcześniej?
Jeśli wziąć pod uwagę słowa Balmera, który mówi, że naprawienie błędu było według niego zaskakująco proste. Miejmy nadzieję, że rozwiązania innych, bardziej lub mnie skomplikowanych, bugów przygotowywane są znacznie szybciej 😉
Dokładny opis problemu można znaleźć tutaj: http://www.vnode.ch/fixing_seekdir/
Archiwalny news dodany przez użytkownika: Arbaal.
Kliknij tutaj by zobaczyć archiwalne komentarze.