Wydano wersję biblioteki PCRE2 10.37, która oferuje zestaw funkcji w języku C z implementacją wyrażeń regularnych i narzędzi do dopasowywania wzorców (pattern matching), zbliżonych pod względem składni i semantyki do wyrażeń regularnych w języku Perl 5. PCRE2 to przemyślana implementacja oryginalnej biblioteki PCRE z niekompatybilnym interfejsem API i rozszerzonymi możliwościami. Biblioteka została opracowana przez twórców serwera pocztowego Exim i jest rozpowszechniana na licencji BSD.
Główne zmiany:
- Z biblioteki libpcre2-posix usunięto symbole funkcji POSIX, takie jak regcomp, ponieważ powodowały problemy w niektórych aplikacjach. Łatka pcre2-symbol-clash.patch została przyjęta do upstream. Zaktualizowano również wersję ABI tej biblioteki.
- Naprawiono problem, który hipotetycznie mogł prowadzić do dereferencji wskaźnika NULL.
- Naprawiono dwa błędy przy przetwarzaniu bardzo dużych liczb, prowadzące do zachowania, które nie odpowiada silnikowi wyrażeń regularnych Perl. Na przykład, wyrażenie "\/\214748364\/" prowadziło do przepełnienia zamiast przetwarzania jako liczby ósemkowej "\214" z następującymi po niej symbolami "748364".
- Naprawiono niewłaściwe zachowanie przy użyciu operacji "\K" w wzorcach.
- W JIT przywrócono optymalizację powtarzania znaków.
Źródło: opennet.ru
