Glibc 2.30 Izdanje knjižnice sustava

Nakon šest mjeseci razvoja objavljen izdanje knjižnice sustava GNU C biblioteka (glibc) 2.30, koji u potpunosti zadovoljava zahtjeve standarda ISO C11 i POSIX.1-2008. Novo izdanje uključuje popravke od 48 programera.

Od onih implementiranih u Glibc 2.30 poboljšanij možete primijetiti:

  • Dinamički povezivač pruža podršku za opciju “--preload” za prethodno učitavanje zajedničkih objekata (analogno varijabli okoline LD_PRELOAD);
  • Dodana funkcija twalk_r, slična već postojećoj funkciji twalk, ali vam omogućuje prosljeđivanje dodatnog argumenta zadanoj funkciji povratnog poziva;
  • Nove funkcije getdents64, gettid i tgkill dodane su za Linux;
  • Osigurajte da funkcije upravljanja memorijom malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign i posix_memalign izlaze s kodom greške kada ukupna veličina objekta premaši vrijednost PTRDIFF_MAX. Ova promjena izbjegava nedefinirano ponašanje kada rezultat manipulacije pokazivačem dovede do preljeva tipa ptrdiff_t;
  • Dodane POSIX funkcije pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock i sem_clockwait, slični "tempiranim" ekvivalentima, ali dodatno prihvaćaju clockid_t parametar za odabir mjerača vremena;

  • Podaci o kodiranju, informacije o vrsti znakova i tablice transliteracije ažurirani su kako bi podržali specifikaciju Unicode 12.1.0;
  • Biblioteka librt više ne pruža funkcije clock_gettime, clock_getres, clock_settime, clock_getcpuclockid i clock_nanosleep za nove aplikacije, već umjesto toga automatski koristi definicije u libc;
  • Opcija "inet6" je uklonjena iz /etc/resolv.conf. Uklonjene su zastarjele oznake RES_USE_INET6, RES_INSECURE1 i RES_INSECURE2 iz resolv.h;
  • Kada navedete opciju "--enable-bind-now", instalirani programi sada su vezani pomoću oznake BIND_NOW;
  • Datoteka zaglavlja sys/sysctl.h i funkcija sysctl specifična za Linux su zastarjele, a aplikacije bi umjesto toga trebale koristiti /proc pseudo-FS;
  • Izrada Glibca sada zahtijeva GCC 6.2 ili noviji (bilo koji prevodilac se može koristiti za izradu aplikacija);
  • Ranjivost je riješena CVE-2019-7309 u implementaciji funkcije memcmp za zastario x32 podarhitektura (ne brkati s x86 IA-32), zbog čega bi funkcija mogla netočno vratiti vrijednost 0 za nizove koji se ne podudaraju;
  • Ranjivost je riješena CVE-2019-9169, što može uzrokovati čitanje podataka iz područja izvan granica međuspremnika kada se obrađuju određeni regularni izrazi.

Izvor: opennet.ru

Dodajte komentar