Glibc 2.30 Системалык китепкананын чыгарылышы

алты айдан кийин иштеп чыгуу жарыяланган системалык китепкана чыгаруу GNU C китепканасы (glibc) 2.30, ал толугу менен ISO C11 жана POSIX.1-2008 стандарттарынын талаптарына жооп берет. Жаңы релиз 48 иштеп чыгуучунун оңдоолорун камтыйт.

Glibc 2.30де ишке ашырылгандардан жакшыртуулар сиз белгилей аласыз:

  • В динамическом компоновщике обеспечена поддержка опции «—preload» для предзагрузки разделяемых объектов (аналог переменной окружения LD_PRELOAD);
  • Добавлена функция twalk_r, похожая на уже существующую функцию twalk, но позволяющая передать дополнительный аргумент в заданную callback-функцию;
  • Для 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, похожие на эквиваленты «timed», но дополнительно принимающие параметр clockid_t для выбора таймера;

  • Юникод 12.1.0 спецификациясын колдоо үчүн коддоо маалыматтары, символдордун түрү жөнүндө маалымат жана транслитерация таблицалары жаңыртылды;
  • В библиотеке librt для новых приложений больше не предоставляются функции clock_gettime, clock_getres, clock_settime, clock_getcpuclockid и clock_nanosleep, вместо которых автоматически используются определения в libc;
  • В /etc/resolv.conf прекращена поддержка опции «inet6». Из resolv.h удалены устаревшие флаги RES_USE_INET6, RES_INSECURE1 и RES_INSECURE2;
  • При указании опции «—enable-bind-now» устанавливаемые программы теперь связываются с использованием флага BIND_NOW;
  • Объявлены устаревшими специфичные для Linux заголовочный файл sys/sysctl.h и функция sysctl, вместо которых приложениям следует использовать псевдо-ФС /proc;
  • Для сборки Glibc теперь требуется GCC 6.2 или более новая версия (для сборки приложений могут использоваться любые компиляторы);
  • Алсыздыгы аныкталды CVE-2019-7309 в реализации функции memcmp для эскирген субархитектуры x32 (не путать с x86 IA-32), в результате которой функция некорректно могла возвращать значение 0 для несовпадающих строк;
  • Алсыздыгы аныкталды CVE-2019-9169, которая может привести к чтению данных из области вне границ буфера при обработке определённых регулярных выражений.

Source: opennet.ru

Комментарий кошуу