Conversation

GrapheneOS used to implement a local-init sanitizer for Clang to zero uninitialized variables in C and C++. In the development branch, this feature is once again globally enabled for Vanadium and the GrapheneOS kernel/userspace via Clang's new -ftrivial-auto-var-init=zero switch.
2
31
Replying to
In production releases, our goal is hardening, not discovering or resolving bugs. Zero is least likely to turn an otherwise inert bug into an exploitable vulnerability. It's also the least disruptive. A non-zero value uncovers more bugs and leads to crashes / memory corruption.
1
5