ایمنی حافظه: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Amiraram (بحث | مشارکت‌ها)
Amiraram (بحث | مشارکت‌ها)
خط ۱۳:
==انواع خطاهای حافظه==
 
انواع مختلفی از خطاهای حافظه می‌تواند رخ دهد، بسته به نوع زبان برنامه نویسی استفاده می‌شود.
 
*'''سرریز بافر - :'''در خارج از محدود می‌نویسد، می‌تواند محتوای اشیاء مجاور، یا داده‌های داخلی مانند اطلاعات حسابداری برای پشته و یا آدرس بازگشت را فاسد کند.
*'''خطاهای حافظه -:''' مدیریت حافظه و اشاره گرها نادرست درجه معلق اشاره‌گر - اشاره‌گر ذخیره آدرس یک شی است که حذف شده‌است.
*'''درجه دو آزاد -:''' تماس‌های مکرر برای آزادآزادی جسم در حال حاضر آزاد شده‌است. می‌تواند باعث freelist مبتنی بر allocators به شکست است.
*'''درجه نامعتبر - :'''پس از گذشت یک آدرس نامعتبر به رایگان می‌توانید توده را فاسدکنید. و یا گاهی اوقات منجر به رفتار تعریف نشده‌است. {{سرخط}} می‌تواند دسترسی به اشاره گر نول درجه یک استثنا یا خاتمه برنامه در بسیاری از محیطها را ایجاد کند، اما همچنین می‌تواند باعث فساد در مغز سیستم عامل و یا سیستم بدون حفاظت از حافظه، و یا زمانی که استفاده از اشاره گر تهی شامل افست‌های بزرگ و یا منفی است.
* متغیرهای مقدار دهیمقداردهی نکردن یک متغیر است که تعیین یک مقدار استفاده شده‌است. ممکن است ناخواسته و یا در بعضی زبان‌ها، ارزش‌های فاسد داشته باشد.
 
اشاره گر وحشی درجه بوجود می‌آیند که یک اشاره گراشاره‌گر قبل از مقدار دهیمقداردهی اولیه به برخی از دولت شناخته شده استفاده می‌شود. آنها نشان می‌دهد رفتار غیر قابل پیشبینی به عنوان اشاره گراشاره‌گر آویزان، هر چند آنها هستند، کمتر احتمال دارد برای ماندن غیر قابل تشخیص است. *خارج از خطاهای حافظه
درجه دو آزاد - تماس‌های مکرر برای آزاد جسم در حال حاضر آزاد شده‌است می‌تواند باعث freelist مبتنی بر allocators به شکست است.
 
*خارج از خطاهای حافظه
درجه نامعتبر - پس از گذشت یک آدرس نامعتبر به رایگان می‌توانید توده را فاسدکنید. و یا گاهی اوقات منجر به رفتار تعریف نشده‌است. {{سرخط}} می‌تواند دسترسی به اشاره گر نول درجه یک استثنا یا خاتمه برنامه در بسیاری از محیطها را ایجاد کند، اما همچنین می‌تواند باعث فساد در مغز سیستم عامل و یا سیستم بدون حفاظت از حافظه، و یا زمانی که استفاده از اشاره گر تهی شامل افست‌های بزرگ و یا منفی است.
* متغیرهای مقدار دهی نکردن یک متغیر است که تعیین یک مقدار استفاده شده‌است. ممکن است ناخواسته و یا در بعضی زبان‌ها، ارزش‌های فاسد داشته باشد.
 
اشاره گر وحشی درجه بوجود می‌آیند که یک اشاره گر قبل از مقدار دهی اولیه به برخی از دولت شناخته شده استفاده می‌شود. آنها نشان می‌دهد رفتار غیر قابل پیشبینی به عنوان اشاره گر آویزان، هر چند آنها هستند، کمتر احتمال دارد برای ماندن غیر قابل تشخیص است. *خارج از خطاهای حافظه
 
درجه سرریز پشته - هنگامی رخ می‌دهد که یک برنامه خارج از فضای پشته اجرا می‌شود، به طور معمول به دلیل از بازگشت بیش از حد عمیق است.