Android : les sources AOSP trop tardives poussent les devs à désassembler

Original : AOSP Source Releases Are So Late Developers Disassemble Libraries to Report Bugs

Pourquoi c'est important

Le retard des sources AOSP force les devs à du reverse engineering pour déboguer Android.

Un bug dans bionic (Android 17, build sept. 2026) fait que wcscspn()/wcspbrk() traitent tout wchar_t ≥ 0x100 comme correspondant au set de rejet, cassant le traitement de chaînes Unicode avec délimiteurs ASCII.

Un développeur a signalé un bug critique dans la bibliothèque bionic d'Android 17 : les fonctions wcscspn() et wcspbrk() s'arrêtent systématiquement sur le premier caractère ≥ U+0100 (emoji, CJK, cyrillique, grec…) dès que le set de rejet contient deux caractères ou plus inférieurs à U+0100. Le caractère est faussement signalé comme correspondant, même s'il n'appartient pas au set. Les builds de septembre 2026 (CP3A.260905.009) sur Pixel 7 et Pixel 8a sont affectés ; un Nothing Phone 2 sous Android 16 ne l'est pas. Le nœud du problème : les sources publiques android-17.0.0_r1 (juin 2026) implémentent correctement ces fonctions via external/llvm-libc, mais le code des builds de septembre diffère. Faute d'accès aux sources intermédiaires, le développeur a dû désassembler les bibliothèques pour identifier la régression et la documenter. La régression brise tout code qui scanne des chaînes larges avec des délimiteurs ASCII classiques dès qu'un caractère non-ASCII est présent.

Source

github.com — Lire l'original →