ATM NFC Hack
wired.com
wired.com
But given all the cameras on and around an ATM this would be a quick way to living your life looking over your shoulder.
This makes no sense. It just sounds like Go.
In the real world, smart pointers help a lot and are a great idea but they don't fully solve the problem in the same way that Rust or memory safe languages do.
Look up software verification. There are verifiers for C.
It's the "fault" of the programmer, but the language makes it very easy to make these faults, so I'd say it's the fault of the language.