Glibc 2.30 Жүйе кітапханасының шығарылымы

Алты айлық дамудан кейін жарияланған жүйелік кітапхананың шығарылымы GNU C кітапханасы (glibc) 2.30, ол ISO C11 және POSIX.1-2008 стандарттарының талаптарына толығымен сәйкес келеді. Жаңа шығарылым 48 әзірлеушінің түзетулерін қамтиды.

Glibc 2.30 нұсқасында енгізілгендерден жақсартулар мынаны атап өтуге болады:

  • Динамикалық байланыстырушы ортақ нысандарды алдын ала жүктеу үшін «--алдын ала жүктеу» опциясын қолдауды қамтамасыз етеді (LD_PRELOAD ортасының айнымалы мәніне ұқсас);
  • Бұрыннан бар twalk функциясына ұқсас, бірақ берілген кері шақыру функциясына қосымша аргумент беруге мүмкіндік беретін twalk_r функциясы қосылды;
  • Linux үшін getdents64, gettid және tgkill жаңа функциялары қосылды;
  • Жадты басқару функциялары malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign және posix_memalign жалпы нысан өлшемі PTRDIFF_MAX мәнінен асатын кезде қате кодымен шығуына көз жеткізіңіз. Бұл өзгерту көрсеткішті өңдеу нәтижесі ptrdiff_t түрінің толып кетуіне әкелетін кезде анықталмаған әрекетті болдырмайды;
  • Қосылған POSIX функциялары pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock және sem_clockwait, "уақыты белгіленген" эквиваленттерге ұқсас, бірақ таймерді таңдау үшін қосымша clockid_t параметрін қабылдайды;

  • Кодтау деректері, таңба түрлері туралы ақпарат және транслитерация кестелері Юникод 12.1.0 спецификациясын қолдау үшін жаңартылды;
  • librt кітапханасы енді жаңа қолданбалар үшін clock_gettime, clock_getres, clock_settime, clock_getcpuclockid және clock_nanosleep функцияларын қамтамасыз етпейді, бірақ оның орнына libc ішіндегі анықтамаларды автоматты түрде пайдаланады;
  • "inet6" опциясы /etc/resolv.conf ішінен жойылды. resolv.h файлынан RES_USE_INET6, RES_INSECURE1 және RES_INSECURE2 ескірген жалаушалар жойылды;
  • "--enable-bind-now" опциясын көрсеткенде, орнатылған бағдарламалар енді BIND_NOW жалаушасы арқылы байланыстырылады;
  • Linux-арнайы sys/sysctl.h тақырып файлы және sysctl функциясы ескірген және қолданбалар оның орнына /proc псевдо-FS пайдалануы керек;
  • Glibc құру енді GCC 6.2 немесе одан жаңа нұсқасын қажет етеді (қолданбаларды құру үшін кез келген компиляторды пайдалануға болады);
  • Осалдық түзетілді CVE-2019-7309 үшін memcmp функциясын жүзеге асыруда ескірген x32 субархитектурасы (x86 IA-32-мен шатастырмау керек), нәтижесінде функция сәйкес келмейтін жолдар үшін 0 мәнін қате қайтаруы мүмкін;
  • Осалдық түзетілді CVE-2019-9169, бұл белгілі бір тұрақты өрнектер өңделген кезде буфер шекарасынан тыс аумақтан деректерді оқуға себеп болуы мүмкін.

Ақпарат көзі: opennet.ru

пікір қалдыру