Erklären Sie diesen Code, der eine Funktion ausführt, ohne sie explizit aufzurufen?

8

Die Ausgabe des folgenden Codes ist "Überlauf", aber ich habe die func -Funktion nicht explizit aufgerufen. Wie funktioniert es?

%Vor%     
Wilbeibi 13.11.2012, 13:24
quelle

1 Antwort

11

Die copy Funktion überläuft den var Puffer in der copy Funktion und überschreibt die main Rückgabeadresse mit der Adresse der func Funktion.

Wenn copy function zurückgibt, anstatt nach dem Funktionsaufruf main zu copy zurückzukehren, kehrt es zu func function zurück.

    
ouah 13.11.2012, 13:27
quelle

Tags und Links