This article is about protection of memory in software development. For hardware protection of memory, see Memory protection.
Memory safety is the state of being protected from various software bugs and security vulnerabilities when dealing with memory access, such as buffer overflows and dangling pointers.[1] For example, Java is said to be memory-safe because its runtime error detection checks array bounds and pointer dereferences.[1] In contrast, C and C++ allow arbitrary pointer arithmetic with pointers implemented as direct memory addresses with no provision for bounds checking,[2] and thus are potentially memory-unsafe.[3]
^ abDhurjati, Dinakar; Kowshik, Sumant; Adve, Vikram; Lattner, Chris (1 January 2003). "Memory safety without runtime checks or garbage collection" (PDF). Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems. ACM. pp. 69–80. doi:10.1145/780732.780743. ISBN 1581136471. S2CID 1459540. Retrieved 13 March 2017.
^Koenig, Andrew. "How C Makes It Hard To Check Array Bounds". Dr. Dobb's. Retrieved 13 March 2017.
^Akritidis, Periklis (June 2011). "Practical memory safety for C" (PDF). Technical Report - University of Cambridge. Computer Laboratory. University of Cambridge, Computer Laboratory. ISSN 1476-2986. UCAM-CL-TR-798. Retrieved 13 March 2017.
Memorysafety is the state of being protected from various software bugs and security vulnerabilities when dealing with memory access, such as buffer overflows...
results or may perform implicit type conversion. Type safety is closely linked to memorysafety. For instance, in an implementation of a language that...
iBoot in order to advance memorysafety since iOS 14. This advancement is designed to mitigate entire classes of common memory corruption vulnerabilities...
not memory-safe. As arbitrary data was assumed to be a character, it is also not a type-safe language. In general, type-safety and memory-safety go hand...
provide low-level memory access and few to no safety checks. They arise primarily due to errors in use of pointers for virtual memory addressing, particularly...
violation of memorysafety. The most likely causes of memory corruption are programming errors (software bugs). When the corrupted memory contents are...
C dynamic memory allocation refers to performing manual memory management for dynamic memory allocation in the C programming language via a group of functions...
behavior in C can be broadly classified as: spatial memorysafety violations, temporal memorysafety violations, integer overflow, strict aliasing violations...
performance of low-level programming languages (such as C) with a focus on memorysafety and a user-friendly tool set and syntax. The Rust for Linux project...
are more accurately understood as the presence or absence of type safety, memorysafety, static type-checking, or dynamic type-checking. "Strong typing"...
MTE architecture: Enhancing memorysafety". community.arm.com. 5 August 2019. Retrieved 27 July 2021. "Adopting the Arm Memory Tagging Extension in Android"...
Unnamed Memory is a Japanese light novel series by Kuji Furumiya. It originated from the novel posting website Shōsetsuka ni Narō in September 2012. It...
abusive parents. iOS 15 introduced kalloc_type in order to advance memorysafety in the XNU kernel. This is primarily to mitigate privilege escalation...
2022. Retrieved 17 November 2022. "Towards the next generation of XNU memorysafety: kalloc_type". Apple Security Blog. October 27, 2022. Archived from...
language often used in systems programming. Rust was designed with memorysafety in mind and to be as performant as C and C++. For historical reasons...
incomplete protection against security vulnerabilities that result from memorysafety errors. In 2016, Intel announced upcoming hardware support for shadow...
improve cognitive functions, such as executive functions, attention or memory. While commonly in the form of dietary supplements, nutraceuticals or energy...
Weir, Charles; Noble, James (2000). Small Memory Software: Patterns for systems with limited memory. Addison-Wesley. ISBN 978-0-201-59607-6. Archived...
attacker's ability to execute arbitrary commands or code. For example: Memorysafety vulnerabilities such as buffer overflows or over-reads. Deserialization...
bugs into a program when used incorrectly, notably violations of memorysafety or memory leaks. These are a significant source of security bugs. When an...