Wie immer kommt's auf die Methoden an.
In C kann ein Pufferüberlauf natürlich mit den falschen Befehlen schnell passieren.
Verwendet man dagegen die richtigen C++-Klassen, gibts diese Probleme nicht.

Ähnliches kann man in RPG auch häufiger beobachten, wenn nämlich die Parameterübergabe zur -übernahme nicht passt.
Hier gibts nämlich auch keinerlei Prüfung auf Gültigkeit sondern (nur RPG, nicht mehr in ILE) nur auf die Anzahl.

Nicht umsonst gibts immer wieder MCH-Fehler (Dezimalfeld, NULL-Pointer, usw.).

Also lass mal auch der IBM einen Pufferüberlauf.
Solange dieser "nur" zum Absturz führt und nicht zu unzulässigen Codeausführungen (wie in Windows), ist alles zu verkraften.