--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Attic/programs/C1.c Sat Oct 04 13:17:18 2014 +0100
@@ -0,0 +1,32 @@
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+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);
+}
+
+