/var/log/canartuc

/var/log/canartuc

Null Pointers: The 1965 Decision Still Crashing Your Code

Modern languages eliminated null pointer bugs with zero-cost safety. Here’s why C’s convenience choice keeps costing billions.

Can Artuc
Jan 22, 2026
∙ Paid
Image Credit

Sixty years. Billions lost. One convenience decision in 1965 created a vulnerability class we still fight in 2025.

Tony Hoare invented null references for ALGOL W. He had safer alternatives. Disjoint unions (what Rust now calls Option types) were already known.

He chose null “simply because it was so easy to implement.”

In 2009, he apologized publicly, calling it his “billion-dollar mistake.” CVE-2025–38387. CVE-2025–49678. CVE-2025–40354. December 2025: null pointer vulnerabilities are still causing privilege escalation in production systems.

The Midnight Debugging Session

Every developer has that story.

Production down. Logs showing nothing useful. Just one line: “Segmentation fault (core dumped).”

Mine happened during a critical deployment for a media streaming platform. Somewhere in 500,000 lines of C code, something dereferenced a null pointer.

After 20+ years architecting systems across telecommunications, digital health, and deep-tech imaging, I’ve debugged more null pointer crashes than I can count.

User's avatar

Continue reading this post for free, courtesy of Can Artuc.

Or purchase a paid subscription.
© 2026 Can Artuc · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture