Efter seks måneders udvikling offentliggjort frigivelse af systembibliotek GNU C bibliotek (glibc) 2.30, som fuldt ud overholder kravene i ISO C11 og POSIX.1-2008 standarder. Den nye udgivelse indeholder rettelser fra 48 udviklere.
Fra dem implementeret i Glibc 2.30 forbedringer du kan bemærke:
Den dynamiske linker understøtter muligheden "--preload" til forudindlæsning af delte objekter (analogt med miljøvariablen LD_PRELOAD);
Tilføjet twalk_r funktion, der ligner den allerede eksisterende twalk funktion, men giver dig mulighed for at videregive et ekstra argument til en given tilbagekaldsfunktion;
Nye funktioner getdents64, gettid og tgkill er blevet tilføjet til Linux;
Sørg for, at hukommelsesstyringsfunktionerne malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign og posix_memalign exit med en fejlkode, når den samlede objektstørrelse overstiger PTRDIFF_MAX-værdien. Denne ændring undgår udefineret adfærd, når resultatet af pointermanipulation fører til et overløb af typen ptrdiff_t;
Tilføjede POSIX-funktioner pthread_cond_clockwait, pthread_mutex_clocklock,
pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock og sem_clockwait, svarende til de "tidsindstillede" ækvivalenter, men accepterer desuden en clockid_t parameter for at vælge timeren;
Kodningsdata, tegntypeoplysninger og translitterationstabeller er blevet opdateret for at understøtte Unicode 12.1.0-specifikationen;
Librt-biblioteket leverer ikke længere funktionerne clock_gettime, clock_getres, clock_settime, clock_getcpuclockid og clock_nanosleep til nye applikationer, men bruger i stedet automatisk definitionerne i libc;
"inet6"-indstillingen er blevet fjernet fra /etc/resolv.conf. Fjernede forældede flag RES_USE_INET6, RES_INSECURE1 og RES_INSECURE2 fra resolv.h;
Når du angiver "--enable-bind-now" muligheden, er installerede programmer nu bundet ved hjælp af BIND_NOW flaget;
Den Linux-specifikke sys/sysctl.h header-fil og sysctl-funktion er blevet forældet, og programmer bør bruge /proc pseudo-FS i stedet;
Building Glibc kræver nu GCC 6.2 eller nyere (enhver compiler kan bruges til at bygge applikationer);
Sårbarhed rettet CVE-2019-7309 i implementeringen af memcmp-funktionen til forældet x32-underarkitektur (ikke at forveksle med x86 IA-32), som et resultat af hvilken funktionen fejlagtigt kunne returnere værdien 0 for ikke-matchende strenge;
Sårbarhed rettet CVE-2019-9169, hvilket kan forårsage, at data læses fra et område uden for bufferens grænser, når visse regulære udtryk behandles.