Memory safe refers to functions in compilers and runtime engines that prevent a program from crashing due to invalid memory references. For example, if there is no check that the data being entered exceeds the input buffer length set up within the program, malicious executable code can be entered (see
buffer overflow). Bounds checking ensures that the data in any variable or index pointer will not cause an instruction to jump to an erroneous part of the program. See
garbage collection and
Rust.