comparison arogue7/sticks.c @ 314:2f0eb38da609

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.
author John "Elwin" Edwards
date Thu, 21 Oct 2021 21:00:15 -0400
parents e52a8a7ad4c5
children
comparison
equal deleted inserted replaced
313:2f75940cc544 314:2f0eb38da609
307 MISSILE , {0, 0}, "", 0, "", "1d4 " , NULL, 0, WS_MISSILE, 50, 1 307 MISSILE , {0, 0}, "", 0, "", "1d4 " , NULL, 0, WS_MISSILE, 50, 1
308 }; 308 };
309 309
310 if (!obj) 310 if (!obj)
311 dice = zapper->t_stats.s_lvl; 311 dice = zapper->t_stats.s_lvl;
312 if (obj->o_type == RELIC) 312 else if (obj->o_type == RELIC)
313 dice = 15; 313 dice = 15;
314 else if (EQUAL(ws_type[which], "staff")) 314 else if (EQUAL(ws_type[which], "staff"))
315 dice = 10; 315 dice = 10;
316 else 316 else
317 dice = 6; 317 dice = 6;