Hasty Briefsbeta

Bilingual

Infidel Goes Wild

2 days ago
  • Discovered a memory-corrupting wild pointer bug in Infidel (Infocom game) due to a ZIL compiler error.
  • The bug affects routines that manage objects in the Endless Desert, shuffling items to and from a table.
  • Default argument 'TBL' was mistakenly set to global variable index (30) instead of its address, causing writes to wrong memory locations.
  • Overwrites unused header bytes then later corruption of abbreviations table, causing text glitches (e.g., 'the' becomes 'You').
  • Bug extremely hard to detect; only occurs if player drops more than 8 items in the desert (due to sand burial mechanic).
  • Remained undiscovered for decades; not fixed in 1984 revision.
  • Fix: remove default and initialize variable explicitly.
  • Similar bug exists in PROP-TO-TBL routines but unused.