Излезе новата версия на библиотеката PCRE2 10.37, предлагаща набор от функции на C с реализация на регулярни изрази и средства за съпоставяне с образец (pattern matching), близки по синтаксис и семантика до регулярните изрази на Perl 5. PCRE2 е преработена реализация на оригиналната библиотека PCRE с несъвместим API и разширени възможности. Библиотеката е разработена от създателите на пощенския сервер Exim и се разпространява под лицензия BSD.
Основни промени:
- От библиотеката libpcre2-posix са премахнати символи на POSIX-функции, като regcomp, тъй като те предизвикваха проблеми при някои приложения. Патчът pcre2-symbol-clash.patch е приет в upstream. Също така, версията на ABI на тази библиотека е обновена.
- Проблемът, който хипотетично би могъл да доведе до разыменоване на нулев указател, е поправен.
- Поправени са две грешки при обработка на много големи числа, които водят до поведение, несъответстващо на движението на регулярните изрази на Perl. Например, изразът "\/\214748364\/" предизвикваше препълване вместо да се обработва като осемнадесетично число "\214" с последващите символи "748364".
- Неправилното поведение при използване на операцията "\K" в шаблоните е исправено.
- В JIT е върната оптимизацията на операциите за повторение на символи.
Източник: opennet.ru
