Un bug de puntero salvaje en Infidel corrompía la memoria sin que nadie lo notara

Infidel Goes Wild

Al analizar Infidel de Infocom con un depurador a nivel de memoria, el autor descubre un bug de puntero salvaje en la rutina DESERT-TO-TABLE. El compilador ZIL inicializa mal una variable global, haciendo que los objetos se escriban en la dirección 30 en lugar de en DESERT-TABLE. Esto sobrescribe la tabla de abreviaturas y provoca texto corrupto o cuelgues. El bug pasó desapercibido durante décadas porque casi nadie dejaba más de ocho objetos en el desierto.

Como programador de C, estoy legalmente obligado a considerar la corrupción de memoria como el peor de todos los pecados posibles.

Más de este día

2026-10-04