В Android 17 нашли баг в libc, которого нет в открытом коде
В сентябрьских сборках Android 17 функции wcscspn() и wcspbrk() из libc неверно останавливаются на символах выше U+00FF, из-за чего ломаются парсеры с эмодзи и не-латиницей. Ошибка есть только в бинарниках на устройствах: публичные исходники AOSP от июня её не содержат, и разработчику пришлось дизассемблировать libc.so с телефона.
- Функции ошибаются на 1 111 808 кодовых точках из диапазона U+0001–U+10FFFF
- Публичные исходники android-17.0.0_r1 содержат корректный код без регрессии
- Тест в bionic сам закреплял неверное поведение, поэтому регрессию не поймали
- Google публикует исходники AOSP только дважды в год, с 2026 года
Читать дальше
Безопасность