أنهى مطورو نواة لينكس عملية إزالة دالة strncpy بالكامل من الكود
المصدري، بعد رحلة استمرت نحو 6 سنوات وتضمنت أكثر من 360 تصحيحاً وتعديلاً عبر
أجزاء مختلفة من النواة.
أبرز ما في التغيير
-
دالة
strncpyكانت تُعتبر منذ سنوات مصدراً متكرراً للأخطاء الأمنية والمنطقية. -
المشكلة الرئيسية تكمن في سلوكها غير البديهي عند التعامل مع إنهاء السلاسل
النصية (
NUL termination)، ما أدى إلى استخدامات خاطئة كثيرة داخل الكود. -
مطورو النواة استبدلوها تدريجياً ببدائل أكثر أماناً ووضوحاً مثل
strscpy. - عملية الإزالة لم تكن بسيطة بسبب الانتشار الواسع للدالة داخل النواة والسواقات (Drivers)، ما تطلب مئات التصحيحات على مدار سنوات.
- الخطوة تأتي ضمن جهود مستمرة لتحسين أمان النواة وتقليل فئات كاملة من الأخطاء المرتبطة بالتعامل مع السلاسل النصية في لغة C.
الخلاصة:
إزالة strncpy تمثل انتصاراً هندسياً طويل
الأمد لنواة لينكس، وتُظهر كيف يفضّل المطورون التخلص من المصادر التاريخية للأخطاء
بدلاً من الاستمرار في التعايش معها.
المصدر: Linux Finally Eliminates The strncpy API After Six Years Of Work, 360+ Patches