Mercurial > hg > early-roguelike
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; |
