author | Christian Urban <christian dot urban at kcl dot ac dot uk> |
Sat, 04 Oct 2014 13:17:18 +0100 | |
changeset 198 | 2ce98ee39990 |
parent 112 | programs/C0.c@0711775cb6b0 |
permissions | -rw-r--r-- |
#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) { foo("my string is too long !!!!! "); // all is normal //foo("my string is too long !!!!! \x10\x10\xc0\x42"); // overwrites my_float return 0; }