Address Sanitizer reports a global buffer overflow at the very first turn when running The Pawn, at line 2198 in emu.c:
==13068==ERROR: AddressSanitizer: global-buffer-overflow on address 0x0001046b3080 at pc 0x000104690200 bp 0x00016b78a8f0 sp 0x00016b78a8e8
READ of size 1 at 0x0001046b3080 thread T0
#0 0x1046901fc in do_cmp emu.c:2198
#1 0x104694e78 in ms_rungame emu.c:3442
#2 0x104679b40 in gms_main glk.c:6107
#3 0x1046790ac in glk_main glk.c:6176
#4 0x104751ad8 in main main.cpp:45
#5 0x19c553f24 (<unknown module>)
0x0001046b3080 is located 32 bytes to the left of global variable 'pc' defined in '~/garglk/terps/magnetic/Generic/emu.c:283:59' (0x1046b30a0) of size 4
0x0001046b3080 is located 0 bytes to the right of global variable 'dreg' defined in '~/garglk/terps/magnetic/Generic/emu.c:283:8' (0x1046b3060) of size 32
SUMMARY: AddressSanitizer: global-buffer-overflow emu.c:2198 in do_cmp
Shadow bytes around the buggy address:
0x0070208f65c0: 02 f9 f9 f9 00 f9 f9 f9 00 00 f9 f9 02 f9 f9 f9
0x0070208f65d0: 02 f9 f9 f9 02 f9 f9 f9 02 f9 f9 f9 02 f9 f9 f9
0x0070208f65e0: 00 f9 f9 f9 01 f9 f9 f9 00 f9 f9 f9 00 f9 f9 f9
0x0070208f65f0: 04 f9 f9 f9 04 f9 f9 f9 04 f9 f9 f9 04 f9 f9 f9
0x0070208f6600: 00 f9 f9 f9 00 00 00 00 f9 f9 f9 f9 00 00 00 00
=>0x0070208f6610:[f9]f9 f9 f9 04 f9 f9 f9 01 f9 f9 f9 01 f9 f9 f9
0x0070208f6620: 01 f9 f9 f9 01 f9 f9 f9 04 f9 f9 f9 00 00 00 00
0x0070208f6630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0070208f6640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0070208f6650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0070208f6660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==13068==ABORTING