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

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

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

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