one of the hardest bugs to diagnose. The called program may write beyond the bounds of the actual parameter, corrupting adjacent storage in the caller.