Android 17 : une régression casse les chaînes non ASCII

Le problème est décrit ainsi : « Sur les versions d'Android 17 à partir de septembre 2026, les fonctions `wcscspn()` et `wcspbrk()` s'arrêtent au premier caractère de la chaîne supérieur ou égal à U+0100 lorsque l'ensemble de rejet contient au moins deux caractères inférieurs à U+0100. Le caractère est alors considéré comme une correspondance, même s'il n'est pas présent dans l'ensemble. Les fonctions `wcsspn()`, `wcschr()`, `wcsrchr()`, `wmemchr()` et `wcsstr()` fonctionnent correctement. 

Tout code analysant des chaînes de caractères larges à la recherche de délimiteurs ASCII (par exemple, des sauts de ligne ou des caractères génériques) s'interrompt dès que le texte contient un emoji, un caractère CJK, cyrillique, grec ou latin étendu. »

Le bug a été confirmé et que les tests seront corrigés pour ajouter les entrées non ASCII. Aucune date de correctif n'est donnée.

Le ticket a relancé une question : la build concernée n'a pas de sources publiques. Les dernières sources AOSP d'Android 17 datent de juin ; la QPR1 qui tourne sur les Pixel depuis plus d'un mois n'en a pas. Pour signaler ce bug, les développeurs ont dû désassembler la libc. Google renvoie à sa documentation sur les changements de transparence. 

GitHub : https://github.com/android/ndk/issues/2260

Actualité de la rédaction de Programmez!

 

Catégorie actualité: 
Image actualité AMP: 
Espace publicitaire · 300×250