Publikimi i Bibliotekës së Sistemit Glibc 2.30

Pas gjashtë muajsh zhvillimi botuar lëshimi i bibliotekës së sistemit Biblioteka GNU C (glibc) 2.30, i cili përputhet plotësisht me kërkesat e ISO C11 dhe POSIX.1-2008. Publikimi i ri përfshin rregullime nga 48 zhvillues.

Zbatuar në Glibc 2.30 учшений ju mund të vini re:

  • Lidhësi dinamik mbështet opsionin "--preload" për parangarkimin e objekteve të përbashkëta (i ngjashëm me variablin e mjedisit LD_PRELOAD);
  • U shtua funksioni twalk_r, i ngjashëm me funksionin tashmë ekzistues twalk, por që ju lejon të kaloni një argument shtesë në funksionin e dhënë të kthimit të thirrjes;
  • Për Linux, janë shtuar funksionet e reja getdents64, gettid dhe tgkill;
  • Funksionet e menaxhimit të kujtesës malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign dhe posix_memalign përfundojnë me një kod gabimi kur madhësia totale e objektit tejkalon vlerën PTRDIFF_MAX. Ky ndryshim shmang sjelljen e papërcaktuar kur rezultati i një manipulimi të treguesit rezulton në një tejmbushje të tipit ptrdiff_t;
  • U shtuan funksionet e propozuara të POSIX pthread_cond_clockwait, pthread_mutex_clock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock dhe sem_clockwait, të ngjashme me ekuivalentët "me kohë", por duke marrë gjithashtu një parametër clockid_t për të zgjedhur një kohëmatës;

  • Të dhënat e kodimit, informacioni i tipit të karaktereve dhe tabelat e transliterimit janë përditësuar për të mbështetur specifikimin Unicode 12.1.0;
  • Funksionet clock_gettime, clock_getres, clock_settime, clock_getcpuclockid dhe clock_nanosleep nuk ofrohen më në bibliotekën librt për aplikacionet e reja dhe në vend të tyre përdoren automatikisht përkufizimet libc;
  • /etc/resolv.conf ka zhvlerësuar opsionin "inet6". U hoqën flamujt e vjetëruar RES_USE_INET6, RES_INSECURE1 dhe RES_INSECURE2 nga resolv.h;
  • Kur specifikoni opsionin "--enable-bind-now", programet e instaluara tani lidhen duke përdorur flamurin BIND_NOW;
  • Skedari i kokës sys/sysctl.h specifik për Linux dhe funksioni sysctl janë zhvlerësuar dhe aplikacionet duhet të përdorin pseudo-FS /proc;
  • Glibc tani kërkon GCC 6.2 ose më të ri për të ndërtuar (çdo përpilues mund të përdoret për të ndërtuar aplikacione);
  • Dobësia e rregulluar CVE-2019-7309 në zbatimin e funksionit memcmp për të vjetruara Nënarkitekturë x32 (të mos ngatërrohet me x86 IA-32), si rezultat i së cilës funksioni mund të kthejë gabimisht vlerën 0 për vargjet që nuk përputhen;
  • Dobësia e rregulluar CVE-2019-9169, gjë që mund të shkaktojë leximin e të dhënave nga një buffer jashtë kufijve kur përpunohen disa shprehje të rregullta.

Burimi: opennet.ru

Shto një koment