diff -r 9c968d0de9a0 -r 2ce98ee39990 programs/C1.c --- a/programs/C1.c Sat Oct 04 12:46:04 2014 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -#include -#include -#include - - -void 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 \x08048455 -void can_never_run() -{ - printf("This can never be executed!\n"); - exit(0); -} - -