Android 17のbionicに深刻なバグ、絵文字入り文字列でワイド文字関数が誤動作
AOSP Source Releases Are So Late Developers Disassemble Libraries to Report Bugs
Android 17の9月ビルドで、bionicのwcscspn()とwcspbrk()がU+0100以上の文字を誤って一致と判定するバグが発見された。拒否セットがすべてU+0100未満の2文字以上の場合に発生し、絵文字やCJK文字を含む文字列でASCII区切り文字のスキャンが破綻する。公開ソースは6月版で正常なため、6月から9月の間に混入した回帰。Visual Pinball on Androidなど実害も報告されている。
wcscspn(s, L"x\n") = 1 (expected 4)
HNでの議論
210- kodebach
証明はできないけど、これって(部分的には)最近のEU規制が大失敗した結果なんじゃないかとまだ思ってる。
どの規制だったかは覚えてないけど、最近の規制の一つに、デバイスがある期間アップデートを受けられるように義務付けるものがある。その期間内では、メーカーはすべてのデバイスに対して各アップデートを短期間で提供しなければならない。意図としては、フラッグシップはすぐアップデートが来るのに、ローエンドデバイスは何ヶ月も待たされる、というのを防ぐことだった。
でも、オープンソースに関する(これも善意からの)文言のせいで、ソースコードのリリースがアップデートの最初のリリースとみなされ、タイマーが始まってしまう。
GoogleがAOSPの公開アップデートを遅らせているのは、パートナー(主にSamsungだろうけど)がAOSPの上に自社アップデートを構築し終える時間を稼ぐためだと確信してる。
- userbinator
1文字:単純な比較ループ。その通り。
驚くことではないけど、テキストにClaudismの気配を少し感じる。
AIがソフトウェアのソースを「オープン」にすることは、今のところAIの最も良い点の一つだと思う。
- reddalo
Googleの新しいモットーは「できる限り邪悪であれ」らしい。
ユーザーの自由を尊重する、Androidの代替が必要だ。
- evan_a_a
ちょっと誇張したタイトルだね。バグレポートの核心部分は、ライブラリの逆アセンブルを必要としない。バグの著者は、当然ながら軽いリバース作業が必要な根本原因調査まで踏み込んだだけだ。
- dethos
第三の選択肢が必要だ。SalfishOS、Ubuntu Touch、Nura、あるいは十分なコミュニティを獲得した何かであれ。とにかく、それに開発と投資を始める必要がある。完璧ではないだろうが、ユーザーに代替手段とコントロールを提供してくれる。
- Retr0id
これがきっかけで誰かがAIによるAOSPの逆コンパイルをやったら、ちょっと面白いだろうね。
- senfiaj
AIはバイナリの逆コンパイルに成功し始めている。バイナリが意図的に難読化されていない限り、ほぼ「オープンソース」と言っていいんじゃないかな。
- duttonw
Googleが公開しないことは、AI時代の今となってはもう助けにならないよ……