author | Christian Urban <christian dot urban at kcl dot ac dot uk> |
Mon, 06 Oct 2014 02:42:49 +0100 | |
changeset 208 | 204564b899a0 |
parent 205 | 88416b7df38c |
child 211 | e6e160c7ea33 |
permissions | -rw-r--r-- |
#include <string.h> #include <stdio.h> #include <stdlib.h> void foo (char *bar) { unsigned long my_long = 101010101; // in hex: \xB5\x4A\x05\x06 char buffer[28]; printf("my_long value = %lu\n", my_long); strcpy(buffer, bar); printf("my_long value = %lu\n", my_long); } int main (int argc, char **argv) { foo("my string is too long !!!!!"); // all is normal foo("my string is too long !!!!! \x15\xcd\x5b\x07"); // overwrites my_long return 0; }