08.12.2021

Выпуск библиотеки PCRE2 10.37

Вышел релиз библиотеки PCRE2 10.37, предоставляющей набор функций на языке Си с реализацией регулярных выражений и средств сопоставления с образцом (pattern matching), близких по синтаксису и семантике к регулярным выражениям языка Perl 5. PCRE2 представляет собой переработанную реализацию оригинальной библиотеки PCRE с несовместимым API и расширенными возможностями. Библиотека основана разработчиками почтового сервера Exim и распространяется под лицензией BSD.

Основные изменения:

  • Из библиотеки libpcre2-posix удалены символы POSIX-функций, такие как regcomp, так как они вызывали проблемы у некоторых приложений. Патч pcre2-symbol-clash.patch принят в апстрим. Также обновлена версия ABI этой библиотеки.
  • Исправлена проблема, гипотетически приводящая к разыменованию нулевого указателя.
  • Исправлены две ошибки при обработке очень больших чисел, приводящие к поведению, не соответствующему движку регулярных выражений Perl.
    Например, выражение «/\214748364/» приводило к переполнению вместо обработки как восьмеричное число «\214» с идущими следом символами «748364».
  • Исправлено неправильное поведение при использовании в шаблонах операции «\K».
  • В JIT возвращена оптимизация операций повторения символа.

Источник.