کد memory-safe نمی‌تواند از انتهای آرایه بیرون برود، از حافظه‌ی آزادشده استفاده کند یا آن را دوبار آزاد کند. Rust در کد safe این را در زمان کامپایل تضمین می‌کند، Go و بیشتر زبان‌های مدیریت‌شده با بررسی زمان اجرا و garbage collector. C این کار را به برنامه‌نویس می‌سپارد. سرریز بافر و use-after-free را ببینید.