Izdanje sistemske biblioteke Glibc 2.30

Nakon šest mjeseci razvoja objavljeno izdanje sistemske biblioteke GNU C biblioteka (glibc) 2.30, koji je u potpunosti usklađen sa zahtjevima ISO C11 i POSIX.1-2008. Novo izdanje uključuje popravke od 48 programera.

Implementirano u Glibc 2.30 poboljšanja možete primetiti:

  • Dinamički linker podržava opciju "--preload" za prethodno učitavanje dijeljenih objekata (slično varijabli okruženja LD_PRELOAD);
  • Dodata funkcija twalk_r, slična već postojećoj twalk funkciji, ali koja vam omogućava da proslijedite dodatni argument datoj funkciji povratnog poziva;
  • Za Linux su dodane nove funkcije getdents64, gettid i tgkill;
  • Funkcije upravljanja memorijom malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign i posix_memalign završavaju se kodom greške kada ukupna veličina objekta premašuje vrijednost PTRDIFF_MAX. Ova promjena izbjegava nedefinirano ponašanje kada rezultat manipulacije pokazivačem rezultira prelivanjem tipa ptrdiff_t;
  • Dodane POSIX predložene funkcije pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock i sem_clockwait, slično "tempiranim" ekvivalentima, ali dodatno uzima parametar clockid_t za odabir tajmera;

  • Podaci o kodiranju, informacije o tipu znakova i tablice transliteracije su ažurirane kako bi podržale Unicode 12.1.0 specifikaciju;
  • Funkcije clock_gettime, clock_getres, clock_settime, clock_getcpuclockid i clock_nanosleep više nisu dostupne u biblioteci librt za nove aplikacije, a umjesto toga se automatski koriste libc definicije;
  • /etc/resolv.conf je zastario opciju "inet6". Uklonjene zastarjele RES_USE_INET6, RES_INSECURE1 i RES_INSECURE2 zastavice iz resolv.h;
  • Kada navedete opciju "--enable-bind-now", instalirani programi su sada vezani pomoću oznake BIND_NOW;
  • Zaglavni fajl sys/sysctl.h i sysctl funkcija su zastarjeli, a aplikacije bi umjesto toga trebale koristiti /proc pseudo-FS;
  • Glibc sada zahtijeva GCC 6.2 ili noviji za izgradnju (bilo koji kompajler se može koristiti za pravljenje aplikacija);
  • Ranjivost je ispravljena CVE-2019-7309 u implementaciji funkcije memcmp za zastarjelo x32 podarhitektura (ne treba je brkati sa x86 IA-32), zbog čega bi funkcija mogla pogrešno vratiti vrijednost 0 za nepodudarne nizove;
  • Ranjivost je ispravljena CVE-2019-9169, što može uzrokovati čitanje podataka iz bafera izvan granica prilikom obrade određenih regularnih izraza.

izvor: opennet.ru

Dodajte komentar