/*
Demonstration of a buffer overflow. C let's you go past the end of
an array, and if you do you will be potentially overwriting or accessing
memory from some other variables in your program.
*/
#include <stdio.h>
int main(int argc, char *argv[]) {
char s1[10]; char s2[10]; char s3[10];
sprintf(s1, "%*s",9, "");
sprintf(s2, "%*s",9, "");
sprintf(s3, "%*s",9, "");
printf("s1 = |%9s|\n", s1);
printf("s2 = |%9s|\n", s2);
printf("s3 = |%9s|\n", s3);
printf("setting s2 = 15 0s\n");
sprintf(s2, "%0*d", 15, 0);
printf("s1 = |%9s|\n", s1);
printf("s2 = |%9s|\n", s2);
printf("s3 = |%9s|\n", s3);
return 0;
}