Have you heard of undefined behavior in C++? Have you ever written a bounds check in C++? Did you know that the compiler can optimize out a bounds check if it contains undefined behavior?
The interaction between compiler optimizations and undefined behavior poses a serious security risk software written in C++. Dangerous optimizations can cause programs to behave incorrectly, crash, or even offer attackers ripe surface area for crafting attacks.
At our fourth C++ meetup, our engineers hosted a joint presentation on dangerous optimizations. Via practical examples, attendees learned about what dangerous optimizations and undefined behavior are, and how they can sneak into C++ software.
At the end of the session, we wrapped up with recommendations on how to avoid introducing undefined behavior into C++ software, empowering attendees to write safer, more reliable, and more secure software.
Robert C. Seacord (Standardization Lead, Arene)
Jessica Paquette (Compiler Engineer, Arene)
Nick Smith (Head of Learning, Woven Dojo)
Through our series of meetups, we hope to invite as many people who are interested in our discussions on C++, and very much look forward to interacting and socializing with them.
For periodic updates of our activities, please visit our official websites and social media pages.
Woven by Toyota