# HG changeset patch # User John "Elwin" Edwards # Date 1634864415 14400 # Node ID 2f0eb38da609d27cb24891f7cd97831a3ff0e5da # Parent 2f75940cc54403adfbad562a9914d0c8d5dceefa Advanced Rogue 7: fix a crash when casting magic missile. do_zap() dereferenced a struct object pointer while ignoring the result of a NULL check. XRogue had the same problem, though triggering it was unlikely, since XRogue does not include a magic missile spell. Reported by John Harris of @Play. diff -r 2f75940cc544 -r 2f0eb38da609 arogue7/sticks.c --- a/arogue7/sticks.c Tue Oct 19 20:39:00 2021 -0400 +++ b/arogue7/sticks.c Thu Oct 21 21:00:15 2021 -0400 @@ -309,7 +309,7 @@ if (!obj) dice = zapper->t_stats.s_lvl; - if (obj->o_type == RELIC) + else if (obj->o_type == RELIC) dice = 15; else if (EQUAL(ws_type[which], "staff")) dice = 10; diff -r 2f75940cc544 -r 2f0eb38da609 xrogue/sticks.c --- a/xrogue/sticks.c Tue Oct 19 20:39:00 2021 -0400 +++ b/xrogue/sticks.c Thu Oct 21 21:00:15 2021 -0400 @@ -323,7 +323,7 @@ if (!obj) dice = zapper->t_stats.s_lvl; - if (obj->o_type == RELIC) + else if (obj->o_type == RELIC) dice = 15; else if (EQUAL(ws_type[which], "staff")) dice = 10;