#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;+ −
}+ −
+ −