أنهى مطورو نواة لينكس عملية إزالة دالة strncpy بالكامل من الكود المصدري، بعد رحلة استمرت نحو 6 سنوات وتضمنت أكثر من 360 تصحيحاً وتعديلاً عبر أجزاء مختلفة من النواة.

أبرز ما في التغيير

  • دالة strncpy كانت تُعتبر منذ سنوات مصدراً متكرراً للأخطاء الأمنية والمنطقية.
  • المشكلة الرئيسية تكمن في سلوكها غير البديهي عند التعامل مع إنهاء السلاسل النصية (NUL termination)، ما أدى إلى استخدامات خاطئة كثيرة داخل الكود.
  • مطورو النواة استبدلوها تدريجياً ببدائل أكثر أماناً ووضوحاً مثل strscpy.
  • عملية الإزالة لم تكن بسيطة بسبب الانتشار الواسع للدالة داخل النواة والسواقات (Drivers)، ما تطلب مئات التصحيحات على مدار سنوات.
  • الخطوة تأتي ضمن جهود مستمرة لتحسين أمان النواة وتقليل فئات كاملة من الأخطاء المرتبطة بالتعامل مع السلاسل النصية في لغة C.

الخلاصة:

إزالة strncpy تمثل انتصاراً هندسياً طويل الأمد لنواة لينكس، وتُظهر كيف يفضّل المطورون التخلص من المصادر التاريخية للأخطاء بدلاً من الاستمرار في التعايش معها.

المصدر: Linux Finally Eliminates The strncpy API After Six Years Of Work, 360+ Patches