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
+4 -1
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;
}