HeadlinesBriefing HeadlinesBriefing.com

Bug Penunjuk Liar Infidel

Hacker News •
×

Planetfall kemarin dirilis publik, tapi saya minggu-minggu di Infidel. Saya menemukan bug yang egregious: penunjuk liar yang scribbles di memori. Mayoranya dianggap trivial, tetapi sebagai programmer C, saya melihat korusi memori sebagai dosa terburuk.

Ini juga bug compiler. Infidel menggunakan ENDLESS-DESERT untuk mensimulasikan area yang tidak dipetakan. Item yang dibuang pergi ke DESERT-TABLE dengan lat/long.

Fungsi DESERT-TO-TABLE punya bug di mana ia gagal menangani argumen SLOC dengan benar, menyebabkan korusi memori. Bug ini sulit dideteksi karena item memiliki peluang satu dari tiga hilang di pasir. Saya menganalisis Infidel release 22 serial 840522 (update Macintosh); rilis asli 830916 memiliki bug yang sama.

Rutinitas menulis ke DESERT-TABLE dengan pengindeksan yang salah, menimpa memori yang bersebelahan. Ini melanggar keamanan memi meskipun dampak gameplay yang minimal. Implementasi Z-machine mengekspos kesalahan melalui kesalahan aritmetik penunjuk dalam peruluan pembaruan tabel.

Sumber: Hacker News · Diringkas oleh HeadlinesBriefing