dynamic memory

동적 메모리 오류와 회수 기준

동적 메모리는 할당 위치보다 소유권, 수명, 참조 경계가 맞지 않을 때 운영 장애로 이어집니다.

수명 흐름
01allocate 02own 03use 04release 05observe
Memory Leak

참조를 잃은 heap 객체가 계속 남아 working set과 swap pressure를 키웁니다.

Dangling Pointer

해제된 메모리를 다시 참조하면 데이터 손상이나 segmentation fault가 발생할 수 있습니다.

Double Free

이미 반환한 블록을 다시 해제하면 allocator metadata가 깨져 보안 취약점이 됩니다.

GC/Rust

GC는 도달 불가능 객체를 회수하고, Rust는 소유권과 borrow 규칙으로 수명을 컴파일 타임에 제한합니다.