Buffer overflow — what is it and why is it still such a security problem? (part 1)