في إصدارات Android 17 من سبتمبر 2026، تعامل الدالتان wcscspn() وwcspbrk() كل قيمة wchar_t أكبر من أو تساوي 0x100 على أنها تطابق، عندما تحتوي مجموعة الرفض على حرفين أو أكثر، وكلها أصغر من U+0100. ويؤدي ذلك إلى كسر مسح السلاسل العريضة للفواصل ASCII مثل أسطر النص الجديدة، عندما يحتوي النص على رموز تعبيرية أو أحرف CJK أو سيريلية أو يونانية أو لاتينية موسعة.
ينشأ الخلل من تطبيق يعتمد جدول بحث بحجم 256 بايت، يتوقف عن المسح عند مواجهة أي حرف أكبر من U+00FF، ويُبلغ عنه خطأً بوصفه تطابقًا. تتأثر الأجهزة التي تعمل بإصدارات سبتمبر 2026، ومنها Pixel 7 وPixel 8a، بينما لا يتأثر Nothing Phone 2 الذي يعمل بنظام Android 16. وقد ظهر هذا التراجع بين المصادر العامة لنظام Android من يونيو 2026 وإصدارات سبتمبر.
يؤثر هذا الخلل في تطبيقات واقعية مثل Visual Pinball، حيث تتسبب الرموز التعبيرية في تعليقات VBScript في أن يحدد المحلل اللغوي نهايات الأسطر بشكل خاطئ، كما تعامل معالجة مسارات الملفات الأحرف الأكبر من أو تساوي U+0100 كأنماط بديلة. ويمكن لحالة اختبار مثل EXPECT_EQ(3u, wcscspn(L"a\u0100b\n", L"x\n")) أن تكشف هذا العيب. وتُظهر المصادر العامة لنظام Android من يونيو 2026 تطبيق دالتي wcscspn وwcspbrk الصحيحتين من external/llvm-libc، مما يؤكد أن التراجع وقع في تحديث libc.so لشهر سبتمبر.
المصدر: Hacker News · لخّصه HeadlinesBriefing