Bylo vydáno vydání knihovny PCRE2 10.37, poskytující sadu funkcí v jazyce C s implementací regulárních výrazů a prostředků pro porovnávání vzorů (pattern matching), které jsou syntakticky a sémanticky blízké regulárním výrazům jazyka Perl 5. PCRE2 představuje přepracovanou implementaci původní knihovny PCRE s nekompatibilním API a rozšířenými možnostmi. Knihovna byla založena vývojáři poštovního serveru Exim a šíří se pod licencí BSD.
Hlavní změny:
- Z knihovny libpcre2-posix byly odstraněny symboly POSIX funkcí, jako je regcomp, protože způsobovaly problémy v některých aplikacích. Patch pcre2-symbol-clash.patch byl přijat do upstreamu. Také byla aktualizována verze ABI této knihovny.
- Byl opraven problém, který hypoteticky vedl k dereferencování null ukazatele.
- Byly opraveny dvě chyby při zpracování velmi velkých čísel, které vedly k chování, které neodpovídalo motoru regulárních výrazů Perl. Například výraz "\/\\214748364\/" vedlo k přetečení místo toho, aby bylo zpracováno jako osmičkové číslo "\\214" s následujícími symboly "748364".
- Bylo opraveno nesprávné chování při používání operace "\K" v šablonách.
- Do JIT byla vrácena optimalizace operací opakování znaku.
Zdroj: opennet.ru
