#include <stdio.h>
#include <string.h>
// Run with: `setarch x86_64 -vLR ./a.out`
// This will generate compilation warnings
void vuln(char buffer[256]) {
printf(buffer);
/* Bad; good would be: printf("%s",buffer) */
}
int main(int argc, char *argv[]) {
char buffer[256] = ""; /* allocate buffer */
if (2 == argc) /* copy command line */
strncpy(buffer, argv[1], 255);
printf("%x\n",(unsigned int)&buffer[0]);
vuln(buffer);
return 0;
}