सितंबर 2026 के Android 17 बिल्ड में, जब रिजेक्ट सेट में दो या अधिक वर्ण हों और सभी U+0100 से कम हों, तब wcscspn() और wcspbrk() हर उस wchar_t को मिलान मानते हैं जो >= 0x100 है। जब टेक्स्ट में इमोजी, CJK, सिरिलिक, ग्रीक या लैटिन एक्सटेंडेड वर्ण हों, तब यह newline जैसे ASCII डिलीमीटर के लिए वाइड स्ट्रिंग स्कैनिंग को तोड़ देता है।
यह बग 256-बाइट लुकअप टेबल वाले कार्यान्वयन से उत्पन्न होता है, जो U+00FF से आगे का कोई भी वर्ण मिलने पर स्कैनिंग रोक देता है और उसे गलती से मिलान के रूप में रिपोर्ट करता है। सितंबर 2026 के बिल्ड चलाने वाले डिवाइस प्रभावित हैं, जिनमें Pixel 7 और Pixel 8a शामिल हैं, जबकि Android 16 पर चलने वाला Nothing Phone 2 प्रभावित नहीं है। यह रिग्रेशन जून 2026 के सार्वजनिक स्रोतों और सितंबर के बिल्ड के बीच आया।
यह समस्या Visual Pinball जैसे वास्तविक एप्लिकेशन को प्रभावित करती है, जहाँ VBScript टिप्पणियों में इमोजी के कारण लेक्सर लाइन के अंत को गलत पहचानता है, और फ़ाइल पाथ हैंडलिंग U+0100 या उससे अधिक के वर्णों को वाइल्डकार्ड पैटर्न मानती है। EXPECT_EQ(3u, wcscspn(L"a\u0100b\n", L"x\n")) जैसा टेस्ट केस इस दोष को उजागर कर सकता है। जून 2026 के Android सार्वजनिक स्रोत external/llvm-libc से सही wcscspn/wcspbrk बनाते हैं, जिससे पुष्टि होती है कि रिग्रेशन सितंबर के libc.so अपडेट में हुआ।
स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित