fix #H3039 - panic() when trying to drop destroyed items

From a bug report, dropping a lit
(burning) potion of oil while levitating can produce an explosion which can
destroy inventory.  If in the process of dropping multiple items, the ones
after the oil might be gone, resulting in use of stale pointers and possibly
triggering an "extract_nobj: object lost" panic or even a crash.  While
testing my fix, I discovered that being killed by an exploding potion of oil
could produce an "object_is_local" panic if bones are saved  (and reproduced
with unmodified 3.4.3).
This commit is contained in:
nethack.rankin
2013-11-05 00:57:56 +00:00
parent d7a467fff1
commit e8e291b018
9 changed files with 108 additions and 10 deletions

View File

@@ -850,6 +850,10 @@ engraving feedback about partial text when weapon became too dull to finish
impossible() might display inaccurate feedback after updating paniclog
fix crash which occurred if hero was teleported onto a sink while busy putting
on or taking off levitation boots
fix "object lost" panic (or even crash) when dropping multiple items while
levitating and a lit potion of oil explodes and destroys some inventory
fix "object_is_local" panic when saving bones after hero is killed by explosion
produced by dropped or thrown lit potion of oil
Platform- and/or Interface-Specific Fixes