Infocom의 고전 'Infidel'에서 발견된 40년 묵은 컴파일러 버그

Infidel Goes Wild

인포콤의 어드벤처 게임 'Infidel'에서 메모리 손상을 일으키는 와일드 포인터 버그가 발견됐다. ZIL 컴파일러가 전역 변수를 기본 인자로 사용할 때 상수로 착각해 잘못된 주소에 값을 쓰는 것이 원인이다. 이 버그는 게임 플레이 중 사막에 9개 이상의 물건을 떨어뜨리면 약어 테이블을 덮어써 텍스트가 깨지거나 인터프리터가 충돌한다. 1983년 초판부터 1984년 개정판까지 수정되지 않았고, 지금까지 아무도 눈치채지 못했다.

이 버그는 출시되었고, 아무도 알아차리지 못했다. 내가 어렸을 때 'Infidel'을 플레이하며 사막을 탐험했을 때, 내 게임은 메모리를 손상시키고 있었다.

이 날의 다른 글

2026-10-04