#include <string.h>#include <stdio.h>#include <stdlib.h>// for installation notes see C0.cvoid foo (char *bar){ float my_float = 10.5; // in hex: \x41\x28\x00\x00 char buffer[28]; printf("my float value = %f\n", my_float); strcpy(buffer, bar); printf("my float value = %f\n", my_float);}int main (int argc, char **argv){ // only float overwritten foo("my string is too long !!!!! \x10\x10\xc0\x42"); // also calls can_never_run //foo("my string is too long !!!!! \x10\x10\xc0\x42\x90\x90\x90\x90\x55\x84\x04\x08"); return 0;}// its address in my setup is \x08048455void can_never_run(){ printf("This can never be executed!\n"); exit(0);}