


As such you are overwriting memory that isn't part of your array.įor reference, strcpy(), strcat() and most other C-string functions don't check the length of the array, they assume that you've given it enough space to work with. Your message array is 10 characters long (0-9), but if you count "Hello, World!" (without the quotes) it is 13 characters long. Here is the program, can anyone come up with a conclusion to why it is doing this? Here is the "traceback" that occurs after the stack smash is detected. No matter what the number entered it always results in a "stack smash". I've created a file which prints Hello, world as many times at the user wants to give input.
