Glibc 2.30 System Library Release

Etter seks måneder med utvikling publisert utgivelse av systembibliotek GNU C bibliotek (glibc) 2.30, som fullt ut oppfyller kravene i ISO C11- og POSIX.1-2008-standardene. Den nye utgivelsen inkluderer rettelser fra 48 utviklere.

Fra de implementert i Glibc 2.30 forbedringer du kan merke:

  • Den dynamiske linkeren gir støtte for «--preload»-alternativet for forhåndsinnlasting av delte objekter (analogt med miljøvariabelen LD_PRELOAD);
  • Lagt til twalk_r-funksjon, lik den allerede eksisterende twalk-funksjonen, men lar deg sende et ekstra argument til en gitt tilbakeringingsfunksjon;
  • Nye funksjoner getdents64, gettid og tgkill er lagt til for Linux;
  • Sørg for at minneadministrasjonsfunksjonene malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign og posix_memalign exit med en feilkode når den totale objektstørrelsen overstiger PTRDIFF_MAX-verdien. Denne endringen unngår udefinert oppførsel når resultatet av pekermanipulering fører til overløp av typen ptrdiff_t;
  • Lagt til POSIX-funksjoner pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock og sem_clockwait, lik "tidsbestemt" ekvivalenter, men aksepterer i tillegg en clockid_t parameter for å velge tidtakeren;

  • Kodingsdata, tegntypeinformasjon og translitterasjonstabeller er oppdatert for å støtte Unicode 12.1.0-spesifikasjonen;
  • Librt-biblioteket gir ikke lenger funksjonene clock_gettime, clock_getres, clock_settime, clock_getcpuclockid og clock_nanosleep for nye applikasjoner, men bruker i stedet automatisk definisjonene i libc;
  • Alternativet "inet6" er fjernet fra /etc/resolv.conf. Fjernet utdaterte flagg RES_USE_INET6, RES_INSECURE1 og RES_INSECURE2 fra resolv.h;
  • Når du spesifiserer alternativet "--enable-bind-now", er installerte programmer nå bundet ved å bruke BIND_NOW-flagget;
  • Den Linux-spesifikke sys/sysctl.h-headerfilen og sysctl-funksjonen har blitt avviklet, og applikasjoner bør bruke /proc pseudo-FS i stedet;
  • Building Glibc krever nå GCC 6.2 eller nyere (enhver kompilator kan brukes til å bygge applikasjoner);
  • Sårbarhet fikset CVE-2019-7309 i implementeringen av memcmp-funksjonen for utdatert x32-underarkitektur (ikke å forveksle med x86 IA-32), som et resultat av at funksjonen feilaktig kunne returnere verdien 0 for ikke-matchende strenger;
  • Sårbarhet fikset CVE-2019-9169, som kan føre til at data leses fra et område utenfor bufferens grenser når visse regulære uttrykk behandles.

Kilde: opennet.ru

Legg til en kommentar