هسته لینوکس سرانجام پس از ۶ سال تلاش به طور کامل از تابع strncpy پاکسازی شد
نویسنده: وحید نصیری
تاریخ: ۱۴۰۵/۰۴/۰۴ ۰۸:۵۲
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
strncpy پاکسازی شد. این تابع که پیشتر به عنوان جایگزین امنتری برای strcpy معرفی شده بود، به دلیل عدم تضمین قطعیِ پایان یافتن رشتهها با کاراکتر پوچ (NUL)، ریسک ایجاد خطاهای سرریز بافر (Buffer Overflow) و کاهش عملکرد سیستم به علت پدینگهای (اصلاح تراز) بیمورد، خود به یک تهدید امنیتی و فنی تبدیل شده بود؛ از این رو، لینوکس توابع مدرنتر و امنتری مانند strscpy را که خاتمه درست رشته را تضمین میکنند، جایگزین آن کرده است. فرآیند این جایگزینیِ گسترده به دلیل هشدارهای اولیه لینوس توروالدز درباره خطرات ناشی از تغییرات ساختاری انبوه و احتمال بروز خطاهای انسانیِ ناخواسته در بازنویسی کدهای حساس، شش سال به طول انجامید تا این جابهجایی بزرگ با بالاترین دقت ممکن به سرانجام برسد.