Undefined Behavior
C/C++-Code, dessen Verhalten nicht spezifiziert ist — der Compiler darf alles tun, einschließlich den Code einfach zu löschen.
Klassiker: Integer-Overflow bei vorzeichenbehafteten Zahlen, Division durch 0, Use-after-Free, Lesen uninitialisierten Speichers. Der Compiler optimiert unter der Annahme "UB passiert nie" — aus einem harmlosen Bug wird so eine Sicherheitslücke. Sanitizer (ASAN, UBSAN) fangen das im Test ab. Rust eliminiert die meisten UB-Fälle bereits durch das Sprachdesign.