Glibc 2.30 System Library Release

Efter sex månaders utveckling publicerad systembiblioteksversion GNU C bibliotek (glibc) 2.30, som helt uppfyller kraven i standarderna ISO C11 och POSIX.1-2008. Den nya utgåvan innehåller korrigeringar från 48 utvecklare.

Från de implementerade i Glibc 2.30 förbättringar du kan notera:

  • Den dynamiska länken ger stöd för alternativet "--preload" för förladdning av delade objekt (analogt med miljövariabeln LD_PRELOAD);
  • Lade till twalk_r-funktion, liknande den redan befintliga twalk-funktionen, men låter dig skicka ett extra argument till en given återuppringningsfunktion;
  • Nya funktioner getdents64, gettid och tgkill har lagts till för Linux;
  • Se till att minneshanteringsfunktionerna malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign och posix_memalign avslutas med en felkod när den totala objektstorleken överstiger PTRDIFF_MAX-värdet. Denna förändring undviker odefinierat beteende när resultatet av pekarmanipulation leder till ett spill av typen ptrdiff_t;
  • Lade till POSIX-funktioner pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock och sem_clockwait, liknande de "tidsinställda" motsvarigheterna, men accepterar dessutom en clockid_t-parameter för att välja timern;

  • Kodningsdata, teckentypsinformation och translitterationstabeller har uppdaterats för att stödja Unicode 12.1.0-specifikationen;
  • Librt-biblioteket tillhandahåller inte längre funktionerna clock_gettime, clock_getres, clock_settime, clock_getcpuclockid och clock_nanosleep för nya applikationer, utan använder istället automatiskt definitionerna i libc;
  • Alternativet "inet6" har tagits bort från /etc/resolv.conf. Tog bort föråldrade flaggor RES_USE_INET6, RES_INSECURE1 och RES_INSECURE2 från resolv.h;
  • När du anger alternativet "--enable-bind-now", är installerade program nu bundna med flaggan BIND_NOW;
  • Den Linux-specifika sys/sysctl.h-huvudfilen och sysctl-funktionen har föråldrats, och applikationer bör använda /proc pseudo-FS istället;
  • Att bygga Glibc kräver nu GCC 6.2 eller senare (vilken kompilator som helst kan användas för att bygga applikationer);
  • Sårbarheten fixad CVE-2019-7309 i implementeringen av memcmp-funktionen för föråldrad x32-underarkitektur (inte att förväxla med x86 IA-32), som ett resultat av vilken funktionen felaktigt kunde returnera värdet 0 för icke-matchande strängar;
  • Sårbarheten fixad CVE-2019-9169, vilket kan göra att data läses från ett område utanför buffertens gränser när vissa reguljära uttryck bearbetas.

Källa: opennet.ru

Lägg en kommentar