Nakon šest mjeseci razvoja izdanje sistemske biblioteke (glibc) , koja u potpunosti ispunjava zahtjeve standarda ISO C11 i POSIX.1-2008. Novi izdanak uključuje ispravke od 48 programera.
Iz realiziranih u Glibc 2.30 može se istaknuti:
- U dinamičkom linkeru podržana je opcija „—preload“ za previše dijeljenih objekata (analogno varijabli okruženja LD_PRELOAD);
- Dodana je funkcija twalk_r, slična već postojećoj funkciji twalk, ali omogućava prijenos dodatnog argumenta u zadanom callback-u;
- Za Linux su dodane nove funkcije getdents64, gettid i tgkill;
- Osigurano je završavanje s kodom greške funkcija upravljanja memorijom malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign i posix_memalign, u situaciji kada ukupna veličina objekta premašuje vrijednost PTRDIFF_MAX. Ova izmjena omogućava izbjegavanje neodređenog ponašanja kada rezultat manipulacije s pokazivačima dovodi do preljeva tipa ptrdiff_t;
- Dodane su predložene u POSIX funkcije pthread_cond_clockwait, pthread_mutex_clocklock,
pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock i sem_clockwait, slične ekvivalentima „timed“, ali dodatno prihvaćaju parametar clockid_t za odabir timera; - Podaci kodiranja, informacije o tipovima simbola i tablice transliteracije ažurirane su za podršku specifikaciji Unicode 12.1.0;
- U biblioteci librt za nove aplikacije više se ne pružaju funkcije clock_gettime, clock_getres, clock_settime, clock_getcpuclockid i clock_nanosleep, umjesto kojih se automatski koriste definicije u libc;
- U /etc/resolv.conf prestala je podrška za opciju „inet6“. Iz resolv.h su uklonjeni zastarjeli flagovi RES_USE_INET6, RES_INSECURE1 i RES_INSECURE2;
- Kada se koristi opcija „—enable-bind-now“, instalirani programi sada se povezuju koristeći flag BIND_NOW;
- Proglašeni su zastarjelim specifični za Linux zaglavlja sys/sysctl.h i funkcija sysctl, umjesto kojih bi aplikacije trebale koristiti pseudo-FS /proc;
- Za sastavljanje Glibc sada je potreban GCC 6.2 ili novija verzija (za sastavljanje aplikacija mogu se koristiti bilo koje kompilatore);
- Ispravljena je ranjivost u implementaciji funkcije memcmp za podarhitekturu x32 (ne miješati s x86 IA-32), uslijed čega je funkcija mogla neispravno vraćati vrijednost 0 za neusporedive nizove;
- Ispravljena je ranjivost , što može dovesti do čitanja podataka izvan granica bafera prilikom obrade određenih regularnih izraza.
Izvor: opennet.ru
