Files
nethack/doc
PatR 3ce02acbc5 fix #K3888 - object lost panic cased by lava
Report was for spell-casting monster using the destroy armor spell on
hero's levitation boots while hero was floating over lava.  The boots
became unworn but still in inventory, hero dropped into lava, the
boots happened to be an inventory item which got burned up, then the
call stack unwound back to the destroy armor routine which tried to
finish by deleting them but they were already gone by then.  Could
also happen for black dragon breath, hero reading scroll of destroy
armor, or overenchanting the boots with scroll of enchant armor, so
not so unlikely that nobody would be expected to notice.

Initially I couldn't reproduce the object lost panic.  It only happens
if the memory used by the boots is cleared or clobbered during first
time it's freed, otherwise second free doesn't notice any problem.

The 'wornarm_destroyed()' portion of this commit is sufficient to fix
this.  The other bits are things I tried before figuring out how to
reproduce it, plus zeroing out any object passed to dealloc_obj().
2023-03-20 17:05:02 -07:00
..
2022-06-18 10:29:15 -04:00
2023-02-27 10:18:14 -05:00
2022-01-29 22:57:22 -05:00
2022-01-29 22:57:22 -05:00
2022-01-29 22:57:22 -05:00
2020-02-15 14:42:00 -08:00
2023-02-21 23:03:19 -05:00
2023-03-18 14:08:13 +02:00
2022-02-22 20:14:44 -05:00
2022-02-22 20:14:44 -05:00
2018-11-11 10:29:52 -05:00
2018-11-11 10:29:52 -05:00
2022-12-07 12:22:49 -08:00
2022-12-08 10:46:36 -05:00
2022-02-22 20:14:44 -05:00
2022-02-22 20:14:44 -05:00
2018-09-20 18:02:48 -04:00
2023-01-26 17:15:59 -05:00