스택

윈도우즈 프로세스의 각 쓰레드는 자신만의 스택 공간을 가지고 있습니다.

보통 지역 변수나 함수의 리턴 주소가 저장됩니다.

이 영역은 자유롭게 읽고 쓸수 있어야 하기 때문에 읽기/쓰기 권한이 부여됩니다.

참고로 스택은 힙과 정 반대 방향으로 자랍니다.

Untitled

즉 힙과 스택 중 하나가 과도하게 증가하면 결국 서로 만날 수 있습니다. 그렇다면 2가지 경우가 발생합니다.

  1. 힙이 스택의 영역을 침범하는 경우
  2. 스택이 힙의 영역을 침범하는 경우

각각 위와 같은 경우가 생기는 상황일때 오버플로우(OVERFLOW)라고 합니다.

힙이 침범당하면 Heap OverFlow