this code takes an argument from the command line and copies it to a local stack variable codice_2. this works fine for command-line arguments smaller than 12 characters (as you can see in figure b below). any arguments larger than 11 characters long will result in corruption of the stack. (the maximum number of characters that is safe is one less than the size of the buffer here because in the c programming language, strings are terminated by a null byte character. a twelve-character input thus requires thirteen bytes to store, the input followed by the sentinel zero byte. the zero byte then ends up overwriting a memory location that's one byte beyond the end of the buffer.)