La clef sera la corde typiquement sont également connues en tant que corde terminée nulle. Signifiant si elle a la longueur de 16 qui est exclusive d'un caractère NUL. D'analyseur la nécessité typiquement de trouver le char NUL de sorte qu'il sachent qu'il est arrivé à la fin de la corde et peut procéder faire d'autres actions (comme la copie à examiner, etc.). Ainsi l'attribution de la mémoire (tas ou pile), ceci devrait toujours être prise en compte par le programmeur.
E.g. carboniser la corde [LENGTH+1] ou le string_ptr = le malloc (LENGTH+1)
Déborder ainsi il est simplement de dire que si vous avez l'amortisseur de 16 bytes, il traduit en corde de char [LONGUEUR] où la LONGUEUR est 16. Ainsi la corde a compté s'assurer qu'aucun débordement ne devrait être un moins (par exemple LENGTH-1). Naturellement, je suppose que la rangée de byte sont en effet type terminé nul rangée. Autrement, ce devrait être contrôle en recevant les fonctions etc. (longueur basée de byte) dans les codes.
Il y a plus au débordement tels qu'il dépasse l'adresse de retour et etc. mais suggère que vous puissiez vérifier ce lien bon @
http://en.wikipedia.org/wiki/Buffer_overflow lu