Memory Safety Bugs

The big five: memory leaks (allocated but never freed — program grows forever), use-after-free (dangling pointer dereference — reads garbage or crashes), double free (corrupts allocator metadata — undefined behaviour), buffer overflow (writing past allocated bounds — security vulnerability), uninitialized reads (reading stack/heap garbage). C has no runtime checks for any of these. Detection tools: valgrind (runtime, ~20x slower), AddressSanitizer (-fsanitize=address, ~2x slower, catches overflows and use-after-free), LeakSanitizer (-fsanitize=leak).

Appears In

m03-dynamic-memory