Glibc 2.30 System Library Release

Pagkatapos ng anim na buwan ng pag-unlad nalathala release ng system library GNU C Library (glibc) 2.30, na ganap na sumusunod sa mga kinakailangan ng mga pamantayan ng ISO C11 at POSIX.1-2008. Kasama sa bagong release ang mga pag-aayos mula sa 48 developer.

Mula sa mga ipinatupad sa Glibc 2.30 mga pagpapabuti maaari mong tandaan:

  • Ang dynamic na linker ay nagbibigay ng suporta para sa "--preload" na opsyon para sa paunang pagkarga ng mga nakabahaging bagay (katulad ng LD_PRELOAD environment variable);
  • Idinagdag ang twalk_r function, katulad ng dati nang twalk function, ngunit nagbibigay-daan sa iyong magpasa ng karagdagang argumento sa isang ibinigay na callback function;
  • Ang mga bagong function getdents64, gettid at tgkill ay naidagdag para sa Linux;
  • Tiyaking gumagana ang pamamahala ng memorya ng malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign, at posix_memalign sa paglabas na may error code kapag ang kabuuang sukat ng bagay ay lumampas sa halaga ng PTRDIFF_MAX. Iniiwasan ng pagbabagong ito ang hindi natukoy na pag-uugali kapag ang resulta ng pagmamanipula ng pointer ay humantong sa isang overflow ng uri ng ptrdiff_t;
  • Nagdagdag ng mga function ng POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock at sem_clockwait, katulad ng mga katumbas na "nag-time", ngunit bukod pa rito ay tumatanggap ng clockid_t na parameter upang piliin ang timer;

  • Ang data sa pag-encode, impormasyon ng uri ng character, at mga talahanayan ng transliterasyon ay na-update upang suportahan ang detalye ng Unicode 12.1.0;
  • Ang librt library ay hindi na nagbibigay ng clock_gettime, clock_getres, clock_settime, clock_getcpuclockid, at clock_nanosleep function para sa mga bagong application, ngunit sa halip ay awtomatikong ginagamit ang mga kahulugan sa libc;
  • Ang opsyon na "inet6" ay inalis mula sa /etc/resolv.conf. Inalis ang mga hindi na ginagamit na flag na RES_USE_INET6, RES_INSECURE1 at RES_INSECURE2 mula sa resolv.h;
  • Kapag tinukoy ang opsyong "--enable-bind-now", ang mga naka-install na program ay nakatali na ngayon gamit ang BIND_NOW flag;
  • Ang Linux-specific sys/sysctl.h header file at sysctl function ay hindi na ginagamit, at dapat gamitin ng mga application ang /proc pseudo-FS sa halip;
  • Ang pagbuo ng Glibc ay nangangailangan na ngayon ng GCC 6.2 o mas bago (anumang compiler ay maaaring gamitin upang bumuo ng mga application);
  • Naayos ang kahinaan CVE-2019-7309 sa pagpapatupad ng memcmp function para sa lipas na sa panahon x32 subarchitecture (hindi malito sa x86 IA-32), bilang isang resulta kung saan ang function ay maaaring maling ibalik ang halaga 0 para sa hindi tumutugmang mga string;
  • Naayos ang kahinaan CVE-2019-9169, na maaaring maging sanhi ng pagbabasa ng data mula sa isang lugar sa labas ng mga hangganan ng buffer kapag naproseso ang ilang mga regular na expression.

Pinagmulan: opennet.ru

Magdagdag ng komento