Позавчера в Git-репозитории проекта свободной библиотеки языка Си — glibc — был протегирован релиз версии 2.22. Релиз анонсировал Карлос О’Донелл (Carlos O’Donell).
Версия Glibc 2.22 привнесла поддержку спецификации Unicode 7.0.0 в таблице символов и ctype, новую библиотеку для работы с векторами (libmvec), новую реализацию fmemopen для совместимости с POSIX (таким образом исправлено множество многолетних багов; старая реализация не удалена для совместимости со старыми бинарными файлами), а header-файл «regexp.h» объявлен устаревшим и будет удалён в следующем релизе. Среди прочих изменений можно выделить:
для архитектуры s390 добавлен опрос информации о кэше с помощью функции sysconf();
оптимизации TLS для архитектур powerpc и powerpc64 (для задействования необходимы binutils ≥2.24);
для 32-битной архитектуры SPARC исправлен ABI sigaction, непреднамеренно сломанный в версии 2.20;
Native Client усилиями Google портирован на ARMv7-A;
исправлено переполнение буфера через gethostbyname_r, а также связанных с ней функций, осуществляющих запросы DNS (CVE-2015-1781);
исправлена ошибка, при которой NSS сообщает внутреннее состояние getXXent и getXXbyYY в одну и ту же базу данных, что может привести к состоянию отказа от обслуживания (DoS) в некоторых приложениях (CVE-2014-8121);
улучшения «защиты от дурака» в парсере файлов timezone (на случай использования файлов, созданных «кустарно»): исправлено возможное переполнение буфера при использовании переменных tzh_ttisstdcnt и tzh_ttisgmtcnt, а также переполнение стека при использовании огромного Data-файла Zone.