Vydanie systémovej knižnice Glibc 2.30

Po šiestich mesiacoch vývoja zverejnená vydanie systémovej knižnice Knižnica GNU C (glibc) 2.30, ktorý plne vyhovuje požiadavkám ISO C11 a POSIX.1-2008. Nové vydanie obsahuje opravy od 48 vývojárov.

Implementované v Glibc 2.30 vylepšenia môžete si všimnúť:

  • Dynamický linker podporuje voľbu "--preload" na predbežné načítanie zdieľaných objektov (podobne ako premenná prostredia LD_PRELOAD);
  • Pridaná funkcia twalk_r, podobná už existujúcej funkcii twalk, ale umožňuje vám odovzdať dodatočný argument danej funkcii spätného volania;
  • Pre Linux boli pridané nové funkcie getdents64, gettid a tgkill;
  • Funkcie správy pamäte malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign a posix_memalign sa ukončia chybovým kódom, keď celková veľkosť objektu prekročí hodnotu PTRDIFF_MAX. Táto zmena zabráni nedefinovanému správaniu, keď výsledkom manipulácie s ukazovateľom je pretečenie typu ptrdiff_t;
  • Pridané funkcie navrhované POSIXom pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock a sem_clockwait, podobné "timed" ekvivalentom, ale navyše s použitím parametra clockid_t na výber časovača;

  • Údaje kódovania, informácie o type znakov a transliteračné tabuľky boli aktualizované, aby podporovali špecifikáciu Unicode 12.1.0;
  • Funkcie clock_gettime, clock_getres, clock_settime, clock_getcpuclockid a clock_nanosleep už nie sú poskytované v knižnici librt pre nové aplikácie a namiesto nich sa automaticky používajú definície libc;
  • /etc/resolv.conf zavrhol možnosť "inet6". Z resolv.h boli odstránené zastarané príznaky RES_USE_INET6, RES_INSECURE1 a RES_INSECURE2;
  • Keď zadáte voľbu "--enable-bind-now", nainštalované programy sú teraz viazané pomocou príznaku BIND_NOW;
  • Hlavičkový súbor sys/sysctl.h špecifický pre Linux a funkcia sysctl boli zastarané a aplikácie by namiesto toho mali používať /proc pseudo-FS;
  • Glibc teraz na zostavenie vyžaduje GCC 6.2 alebo novší (na zostavenie aplikácií možno použiť akýkoľvek kompilátor);
  • Zraniteľnosť opravená CVE-2019 7309, pri implementácii funkcie memcmp pre zastaraný podarchitektúra x32 (nezamieňať s x86 IA-32), v dôsledku čoho mohla funkcia nesprávne vrátiť hodnotu 0 pre nezhodné reťazce;
  • Zraniteľnosť opravená CVE-2019 9169,, čo môže spôsobiť čítanie údajov z vyrovnávacej pamäte mimo hraníc pri spracovaní určitých regulárnych výrazov.

Zdroj: opennet.ru

Pridať komentár