Re: How is this possible?
I recall using Pascal back in the 70's. It had bounds checking. I think the Coral 66 I used next did too. Then along came C and writing programs that did things became so much easier. Back in 1990 I had to use Pascal again for a "security" project. It was a miserable experience but thanks to that choice of language and a stupidly rigorous test regime the code we wrote for HMG was very very secure. Then I went back to C & C++ and it was wonderful.
There are many reasons besides fun to use C but it has always been a poor choice of language where security matters.