Closed gebulmer closed 2 years ago
This was almost certainly introduced by this commit to fix a crash related to aklys throwing. This definitely needs to be fixed before June (assuming it takes part in Junethack this year). Not too much free time at the moment however due to projects at work, but I'll see if I can get something done.
I confirm that firing with bullets crashes the game (but sometimes not).
This should be fixed in commit 688cbb09
If
thitmon
in src/dothrow.c:1259 returns truthy the object may have already been freedThe code then sets
thrownobj
to be null butobj
is still a pointer to the (now-freed) memory Immediately it reads fromobj
(read-after-free), and assuming the data still exists after being freed then immediately tries to free a second time which on many platforms including public servers crashes the game (double-free)