A chave será a corda é sabida tipicamente igualmente como a corda terminada nula. Significando se tem o comprimento de 16 que é exclusivo de um caráter NULO. Do parser a necessidade tipicamente de encontrar o carvão animal NULO de modo que saiba que veio à extremidade da corda e pode prosiguer fazer outras ações (como a cópia a selecionar, etc.). Assim o alocamento da memória (montão ou pilha), esta deve sempre ser tomado de pelo programador.
E.g. carbonizar a corda [LENGTH+1] ou o string_ptr = o malloc (LENGTH+1)
Transbordar assim ele é simplesmente dizer que se você tem o amortecedor de 16 bytes, traduz na corda do carvão animal [COMPRIMENTO] onde o COMPRIMENTO é 16. Assim a corda esperou assegurar-se de que nenhum excesso devesse ser um menos (por exemplo LENGTH-1). Naturalmente, eu estou supor que a disposição do byte é certamente tipo terminado nulo disposição. Se não, deve ser verificação recebendo as funções etc. (comprimento baseado do byte) nos códigos.
Há mais ao excesso tais que cancela o endereço do retorno e etc. mas sugere que você possa verific para fora esta ligação para ver se há bom @
http://en.wikipedia.org/wiki/Buffer_overflow lido