fix uarmh null pointer dereference

uarmh null pointer dereference if a helm of opposite alignment came off due
to being polymorphed

fixes #225
This commit is contained in:
nhmall
2019-09-24 12:32:58 -04:00
parent 348f968132
commit 9361e872b2
2 changed files with 6 additions and 1 deletions

View File

@@ -152,6 +152,8 @@ zapping self with wand of opening or spell of knock to escape from a pit trap
wielded aklys that returned to hero when thrown while inside an engulfer left
a stale 'thrownobj' pointer that triggered "add_to_minv: obj not free"
panic if same weapon killed any engulfer via melee from inside
uarmh null pointer dereference if a helm of opposite alignment came off due
to being polymorphed
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository

View File

@@ -392,6 +392,7 @@ Helmet_on(VOID_ARGS)
makeknown(uarmh->otyp);
break;
case HELM_OF_OPPOSITE_ALIGNMENT:
uarmh->known = 1; /* do this here because uarmh could get cleared */
/* changing alignment can toggle off active artifact
properties, including levitation; uarmh could get
dropped or destroyed here */
@@ -427,7 +428,9 @@ Helmet_on(VOID_ARGS)
default:
impossible(unknown_type, c_helmet, uarmh->otyp);
}
uarmh->known = 1; /* helmet's +/- evident because of status line AC */
/* uarmh could be zero due to uchangealign() */
if (uarmh)
uarmh->known = 1; /* helmet's +/- evident because of status line AC */
return 0;
}