Der Schlüssel ist die Schnur sind gewöhnlich alias ungültige beendete Schnur. Bedeutung, wenn er Länge von 16 hat, die von einem Nullzeichen exklusiv ist. Die der grammatischen Definition Notwendigkeit gewöhnlich, UNGÜLTIGE Putzfrau zu finden, damit sie weiß, dass sie zum Ende der Schnur gekommen und fortfahren kann, andere Tätigkeiten zu tun (wie auszusortieren der Druck, usw.). So Verteilung des Gedächtnisses (Haufen oder Stapel), dieses sollte um durch Programmierer immer kümmert werden.
E.g. Schnur [LENGTH+1] oder string_ptr = malloc verkohlen (LENGTH+1)
, so ist überzulaufen es einfach, zu sagen, dass, wenn Sie einen 16-Byte-Puffer haben, es in Putzfrauschnur [LÄNGE] übersetzt wo LÄNGE 16 ist. So erwartete die Schnur sicherzustellen, dass kein Überlauf einer weniger sein sollte (z.B. LENGTH-1). Selbstverständlich annehme ich h, dass die Bytereihe in der Tat ungültige beendete Art Reihe sind. Andernfalls sollte es sein Überprüfung, indem es Funktionen usw. (gegründete Länge des Bytes) in den Codes empfängt.
Es gibt mehr zum Überlauf so, dass er Rücksprungadresse und usw. aufhebt, aber vorschlägt er, dass Sie diese Verbindung auf gutem gelesenem @
http://en.wikipedia.org/wiki/Buffer_overflow heraus überprüfen können