fprintf(stderr, "-------free(p1)-------\n"); free(p1); fprintf(stderr, "double free 취약점을 trigger한다.\n"); fprintf(stderr, "이제 p1이 fast-top에 있지 않기 때문에 malloc의 체크를 통과할 수 있다.\n"); fprintf(stderr, "현재 p1은 unsorted bin과 fastbin 안에 있다.\n" "그래서 우리는 주소를 2번 얻을 수 있다: %p %p\n", malloc(0x40), malloc(0x40)); }