
Error : free() : invalid next size (fast)
·
C
string, string 길이, 메모리 크기를 저장할 수 있는 구조체를 동적할당 받는 문제에서 free() : invalid next size(fast)라는 오류 메세지를 받았다. 메모리 쪽에 문제가 생겼겠거니 하고, 디버깅을 하는데 도무지 문제점이 보이지 않았다. (한시간 정도 걸린 것 같다)알고보니 메모리 재할당 과정 중, first->ptr(문자열 포인터)을 free시켜줬음에도 다시 malloc을 할 때 first->ptr(free를 시켜줬으니 가르키는 주소가 없는 포인터)의 strlen을 사용해서 생겼던 오류였다. 딱 그 줄만 봤을 때는 전혀 문제될게 없어보였는데... 이번 Error을 통해 윗줄, 아랫줄 간의 상관관계를 따져가며 코드를 짜야겠다는 생각을 하게 되었다.