Glibc 2.30 System Library Release

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.

Kilde: opennet.ru

Tilføj en kommentar