용어 사전 coding 용어 페이지
더블 프리
이미 `free`한 포인터를 다시 `free`하는 메모리 관리 버그
핵심 아이디어
더블 프리는 같은 포인터를 두 번 이상 free하는 오류입니다. 이미 반환한 메모리를 다시 반환하려고 하기 때문에 힙 관리 구조를 망가뜨릴 수 있고, 프로그램이 예측 불가능하게 동작합니다.
더블 프리는 보통 "해제 책임이 여러 곳에 흩어져 있을 때" 생깁니다. 그래서 이 문제는 문법보다 구조의 문제에 가깝습니다. 누가 해제하는지 한 곳으로 모아 두지 않으면 같은 주소를 두 번 건드리기 쉬워집니다.
이 블로그에서의 역할
Mathbong에서는 use-after-free와 함께 C 메모리 디버깅의 대표 사례로 소개됩니다. 포인터를 해제한 뒤 NULL로 바꾸는 습관과 cleanup 패턴이 왜 필요한지 보여 주는 실전 개념입니다.