Closed stv0g closed 1 year ago
Go is designed to be a memory-safe programming language. Memory safety refers to a language's ability to prevent certain classes of memory-related errors, such as buffer overflows, null pointer dereferences, and memory leaks. Go achieves memory safety through several language features and design choices:
However, it's important to note that no programming language can guarantee absolute memory safety. Developers must still be mindful of their code, write safe and secure practices, and follow best practices to minimize potential memory-related issues.
In Go-code, the memory safety guarantees can be circumvented by the use of the unsafe
package which permits arbitrary memory access and can loose type safety.
As a security critical software component, go-rosenpass does not make use of the unsafe
package.
unsafe
package (see #58).
By @koraa in https://github.com/stv0g/go-rosenpass/issues/27#issuecomment-1604366038
Severerity: N/A – What is the situation with regards to buffer overflows, use-after-free errors in go?