Linux 7.2 usunie strncpy. Koniec problematycznego API
Według doniesień do jądra Linux 7.2 trafiła poprawka usuwająca API strncpy. To finał sześciu lat prac nad kodem, który deweloperzy wiązali z częstymi błędami i problemami w jądrze systemu.
Linux 7.1 dopiero trafił do użytkowników, a do gałęzi Linux 7.2 już dochodzą kolejne zmiany. Jedna z nich porządkuje ostatnie pozostałości strncpy, czyli funkcji, z którą zespół rozwijający jądro zmagał się od lat.
W opisie poprawki napisano, że "strncpy() było stałym źródłem błędów z powodu niejednoznacznego przeznaczenia i często nieintuicyjnej semantyki". To właśnie ten argument stał za decyzją o całkowitym usunięciu API z jądra Linux.
Problem dotyczył m.in. tego, że funkcja nie zawsze kończyła wynik znakiem NUL. Dodatkowo automatycznie uzupełniała zerami cały zadany zakres długości, choć w wielu przypadkach nie było to potrzebne.
Spotify usuwa podcasty z reklamami aptek?
Według dostępnych informacji prace nad wycofaniem strncpy trwały ponad sześć lat i objęły ponad 360 commitów. W zestawieniu autorów zmian najwyżej znalazł się Justin Stitt, któremu przypisano 211 commitów związanych z tym zadaniem.
Usunięcie strncpy ma wejść do Linuksa 7.2 przed rozpoczęciem fazy release candidate, zaplanowanej na 28 czerwca. Jeśli harmonogram się utrzyma, zmiana wkrótce trafi do szerszego grona użytkowników i deweloperów pracujących na tym jądrze.
Cała sytuacja pokazuje też tempo prac nad linuksowym jądrem. W otwartym modelu rozwoju widać na bieżąco, jakie poprawki Linus Torvalds przyjmuje do kolejnych wersji, a ta należy do najbardziej symbolicznych zmian w Linux 7.2.