Toleo la Maktaba ya Mfumo wa Glibc 2.30

Baada ya miezi sita ya maendeleo iliyochapishwa kutolewa kwa maktaba ya mfumo Maktaba ya GNU C (glibc) 2.30, ambayo inazingatia kikamilifu mahitaji ya viwango vya ISO C11 na POSIX.1-2008. Toleo jipya linajumuisha marekebisho kutoka kwa watengenezaji 48.

Kutoka kwa zile zilizotekelezwa katika Glibc 2.30 maboresho unaweza kumbuka:

  • Kiunganishi chenye nguvu hutoa usaidizi kwa chaguo la "--pakia mapema" kwa kupakia awali vitu vilivyoshirikiwa (sawa na utofauti wa mazingira wa LD_PRELOAD);
  • Imeongeza kitendakazi cha twalk_r, sawa na kitendakazi cha twalk kilichopo, lakini hukuruhusu kupitisha hoja ya ziada kwa kitendakazi fulani cha kurudisha nyuma;
  • Vitendaji vipya getdents64, gettid na tgkill vimeongezwa kwa ajili ya Linux;
  • Hakikisha kuwa usimamizi wa kumbukumbu hufanya kazi malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalig, na posix_memalig kutoka kwa msimbo wa hitilafu wakati jumla ya ukubwa wa kitu unazidi thamani ya PTRDIFF_MAX. Mabadiliko haya yanaepuka tabia isiyobainishwa wakati matokeo ya upotoshaji wa pointer husababisha kufurika kwa aina ya ptrdiff_t;
  • Vitendaji vya POSIX vilivyoongezwa pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock na sem_clockwait, sawa na "timed" sawa, lakini kwa kuongeza kukubali parameter clockid_t kuchagua kipima muda;

  • Data ya usimbaji, maelezo ya aina ya wahusika, na jedwali za unukuzi zimesasishwa ili kuauni vipimo vya Unicode 12.1.0;
  • Maktaba ya librt haitoi tena vitendaji vya clock_gettime, clock_getres, clock_settime, clock_getcpuclockid, na clock_nanosleep kwa programu mpya, lakini badala yake hutumia ufafanuzi kiotomatiki katika libc;
  • Chaguo la "inet6" limeondolewa kwenye /etc/resolv.conf. Imeondoa bendera za kizamani RES_USE_INET6, RES_INSECURE1 na RES_INSECURE2 kutoka kwa resolv.h;
  • Wakati wa kubainisha chaguo la "--wezesha-bind-sasa", programu zilizosakinishwa sasa zimefungwa kwa kutumia bendera ya BIND_NOW;
  • Faili ya kichwa cha Linux-specific sys/sysctl.h na chaguo za kukokotoa za sysctl zimeacha kutumika, na programu zinapaswa kutumia /proc pseudo-FS badala yake;
  • Kujenga Glibc sasa kunahitaji GCC 6.2 au mpya zaidi (mkusanyaji wowote anaweza kutumika kuunda programu);
  • Athari imerekebishwa CVE-2019-7309 katika utekelezaji wa kazi ya memcmp kwa imepitwa na wakati usanifu wa x32 (usichanganywe na x86 IA-32), kama matokeo ambayo chaguo la kukokotoa linaweza kurudisha thamani 0 kimakosa kwa mifuatano isiyolingana;
  • Athari imerekebishwa CVE-2019-9169, ambayo inaweza kusababisha data kusomwa kutoka eneo lililo nje ya mipaka ya bafa wakati misemo fulani ya kawaida inachakatwa.

Chanzo: opennet.ru

Kuongeza maoni