Glibc 2.30 süsteemiteegi väljalase

Pärast kuuekuulist arengut avaldatud süsteemiteegi väljalase GNU C raamatukogu (glibc) 2.30, mis vastab täielikult ISO C11 ja POSIX.1-2008 standardite nõuetele. Uus väljalase sisaldab parandusi 48 arendajalt.

Nendest, mis on rakendatud versioonis Glibc 2.30 täiustused võite märkida:

  • Dünaamiline linker toetab jagatud objektide eellaadimise suvandit "--preload" (analoogselt keskkonnamuutujale LD_PRELOAD);
  • Lisatud funktsioon twalk_r, mis sarnaneb juba olemasolevale twalk-funktsioonile, kuid võimaldab anda antud tagasihelistamise funktsioonile täiendava argumendi;
  • Linuxi jaoks on lisatud uued funktsioonid getdents64, gettid ja tgkill;
  • Veenduge, et mäluhaldusfunktsioonid malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign ja posix_memalign väljuksid veakoodiga, kui objekti kogumaht ületab PTRDIFF_MAX väärtuse. See muudatus väldib määratlemata käitumist, kui osutiga manipuleerimise tulemus põhjustab ptrdiff_t tüüpi ületäitumist;
  • Lisatud POSIX-i funktsioonid pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock ja sem_clockwait, sarnased "ajastatud" ekvivalentidele, kuid lisaks aktsepteerivad taimeri valimiseks parameetrit clockid_t;

  • Kodeerimisandmeid, märgitüüpide teavet ja transliteratsioonitabeleid on värskendatud, et toetada Unicode'i 12.1.0 spetsifikatsiooni;
  • Librt teek ei paku uute rakenduste jaoks enam funktsioone clock_gettime, clock_getres, clock_settime, clock_getcpuclockid ja clock_nanosleep, vaid kasutab automaatselt libc definitsioone;
  • Valik "inet6" on failist /etc/resolv.conf eemaldatud. Eemaldatud resolv.h-st vananenud lipud RES_USE_INET6, RES_INSECURE1 ja RES_INSECURE2;
  • Suvandi "--enable-bind-now" määramisel seotakse installitud programmid nüüd lipu BIND_NOW abil;
  • Linuxi-spetsiifiline päisefail sys/sysctl.h ja funktsioon sysctl on aegunud ning rakendused peaksid kasutama selle asemel faili /proc pseudo-FS;
  • Glibci loomiseks on nüüd vaja GCC 6.2 või uuemat versiooni (rakenduste loomiseks saab kasutada mis tahes kompilaatorit);
  • Haavatavus fikseeritud CVE-2019-7309 funktsiooni memcmp rakendamisel aegunud x32 alamarhitektuur (mitte segi ajada x86 IA-32-ga), mille tulemusena võib funktsioon mittevastavate stringide puhul valesti tagastada väärtuse 0;
  • Haavatavus fikseeritud CVE-2019-9169, mis võib teatud regulaaravaldiste töötlemisel põhjustada andmete lugemist väljaspool puhvri piire.

Allikas: opennet.ru

Lisa kommentaar