Критический баг в Android 17 ломает работу с символами
В сентябрьских сборках Android 17 (версия CP3A.260905.009) обнаружена серьезная ошибка в функциях wcscspn() и wcspbrk(). Они некорректно обрабатывают расширенные символы, принимая любой символ с кодом выше U+0100 за совпадение, даже если его нет в искомом наборе.
Проблема проявляется, когда набор для поиска содержит два и более символа с кодами меньше U+0100. В этом случае функции ошибочно останавливаются на первом же «сложном» символе (кириллица, эмодзи, греческий алфавит и другие).
Ошибка уже привела к сбоям в работе приложений, использующих эти функции для парсинга строк. Например, Visual Pinball перестал загружать скрипты, содержащие эмодзи в комментариях, так как движок путает их с символами переноса строки.
Разработчики подтвердили, что баг появился после июньского релиза системы. Исправление пока не выпущено, поэтому разработчикам рекомендуется использовать временные обходные пути с обычными циклами.
Post #4172
6
