There is no such thing as a "safe" or unsafe language; only safe and unsafe programmers.
It's a good god damned harder to introduce an array index out-of-bounds error in Ada, PL/1, Pascal, BASIC and COBOL than in C.
Why? Because the RTLs in those languages check for out-of-bounds errors.
Thus, those languages, while not perfectly safe (nothing can be), are manifestly safer than C.