Infocomの名作『Infidel』に潜むメモリ破壊バグ、初のメモリデバッガで発見

Infidel Goes Wild

『Infidel』の砂漠で物を9個以上落とすと、DESERT-TABLEがグローバル変数の番号30を指してしまい、略語テーブルを上書きする。コンパイラがグローバル変数をデフォルト引数に使うと定数と誤認するためで、40年間誰も気づかなかった。

「これはCプログラマとして、メモリ破壊を最悪の罪と見なすことを法的に義務付けられている。その上、これはコンパイラのバグだ!」

この日のほかの記事

2026-10-04