広告
お呼びでない関数を実行する。
overrun.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include <stdio.h> #include <stdlib.h> void goast(void) { printf("Boo!\n"); } void dummy(void) { char a[1] = {0}; a[9] = &goast; } int main(void) { dummy(); return 0; } |
実行例
1 2 3 4 5 6 |
$ gcc overrun.c overrun.c: In function 'dummy': overrun.c:13: warning: assignment makes integer from pointer without a cast $ ./a.out Boo! Segmentation fault |
広告
広告