Polska programistka przez przypadek odkryła 20-letni błąd w jednej z aplikacji Linuxa. Przygotowała łatkę, dzięki której entuzjaści programu mogą cieszyć się jego sprawniejszym działaniem.
Niektóre błędy oprogramowania są tak specyficzne, że potrzeba przypadku, by je znaleźć. W ten sposób Kamila Szewczyk trafiła na bug w menedżerze okien Linuxa Enlightenment E16, który obecnie jest niszową aplikacją. Wciąż jednak ma swoich entuzjastów i jako jedna z nich Szewczyk na co dzień z niego korzysta. Wystarczył jednak jeden plik PDF, żeby chwilowo wstrzymać pracę.
Mimo wieku 21 lat Kamila Szewczyk darzy szczególnymi względami klasyczne oprogramowanie, stawiając je ponad nowoczesne rozwiązania. Dlatego do teraz używa menedżera okien Linuxa Enlightenment E16, który swoją premierę miał w 1997 roku i już dawno otrzymał nowsze wersje. Praca nad prezentacją multimedialną sprawiła, że Kamila Szewczyk musiała naprawić ulubiony program, który służy jej na Linuxie.
Jak opisuje na swoim blogu, przygotowując slajdy do prezentacji multimedialnej otworzyła plik PDF w czytniku Atril. Enlightenment E16 działa na tej zasadzie, że nazwa pliku staje się tytułem okna, co w tej sytuacji doprowadziło do zawieszenia się komputera, ponieważ tytuł był zbyt długi: „Kickoff.pdf — Introduction to Information Theory Session 1: kickoff & first topic”.
Aplikacja próbowała skrócić nazwę wycinając odpowiednią liczbę znaków i zastępując ją wielokropkiem. Tworzący 20 lat temu tę funkcję programista wykorzystał do tego metodą Newtona, która pozwala oszacować, ile znaków należy wyciąć. Brakowało jednak zabezpieczenia ograniczającego liczbę iteracji jakich dokonuje aplikacja.
Z tego powodu Kamila Szewczyk napotkała błąd algorytmu, który wpadł w nieskończoną pętlę próbującą odgadnąć, ile znaków ma wyciąć z nagłówka. Nie był w stanie tego oszacować, a pulpit odmawiał posłuszeństwa. Dlatego młoda programistka wykorzystała stary kod w języku C i dodała trzy poprawki:
Dzięki pracowaniu na oprogramowaniu Open Source Kamila mogła samodzielnie przygotować łatkę, która następnie trafiła do oficjalnej aktualizacji i nie musiała czekać, aż twórcy Enlightenment E16 samodzielnie zajmą się błędem w kodzie programu.
Dziękujemy za przeczytanie artykułu.
Ustaw GRYOnline.pl jako preferowane źródło wiadomości w Google
Więcej:PS6 uruchomi gry z PS4 i PS5 według przecieku. Sony ma szykować specjalną wersję konsoli dla Europy

Autor: Zbigniew Woźnicki
Przygodę z publicystyką i pisaniem zaczął w serwisie Allegro, gdzie publikował newsy związane z grami, technologią oraz mediami społecznościowymi. Wkrótce zawitał na GRYOnline.pl i Filmomaniaka, pisząc o nowościach związanych z branżą filmową. Mimo związku z serialami, jego serce należy do gier wszelakiego typu. Żaden gatunek mu nie straszny, a przygoda z Tibią nauczyła go, że niebo i muzyka w grach są całkowicie zbędne. Przed laty dzielił się swoimi doświadczeniami, moderując forum mmorpg.org.pl. Uwielbia ponarzekać, ale oczywiście konstruktywnie i z umiarem. Na forum pisze pod ksywką Canaton.