static analyzer bit for artifact.c
src/artifact.c(1589): warning C6011: Dereferencing NULL pointer 'magr'. The 'struct monst *magr' parameter to artifact_hit() can be Null if 'mdef' is youmonst. mdef is nonnull.
This commit is contained in:
@@ -155,7 +155,7 @@ extern boolean undiscovered_artifact(xint16);
|
|||||||
extern int disp_artifact_discoveries(winid);
|
extern int disp_artifact_discoveries(winid);
|
||||||
extern void dump_artifact_info(winid);
|
extern void dump_artifact_info(winid);
|
||||||
extern boolean artifact_hit(struct monst *, struct monst *, struct obj *,
|
extern boolean artifact_hit(struct monst *, struct monst *, struct obj *,
|
||||||
int *, int);
|
int *, int) NONNULLARG2;
|
||||||
extern int doinvoke(void);
|
extern int doinvoke(void);
|
||||||
extern boolean finesse_ahriman(struct obj *);
|
extern boolean finesse_ahriman(struct obj *);
|
||||||
extern int arti_speak(struct obj *);
|
extern int arti_speak(struct obj *);
|
||||||
|
|||||||
@@ -1586,6 +1586,7 @@ artifact_hit(
|
|||||||
if (youattack) {
|
if (youattack) {
|
||||||
healup(drain, 0, FALSE, FALSE);
|
healup(drain, 0, FALSE, FALSE);
|
||||||
} else {
|
} else {
|
||||||
|
assert(magr != 0);
|
||||||
magr->mhp += drain;
|
magr->mhp += drain;
|
||||||
if (magr->mhp > magr->mhpmax)
|
if (magr->mhp > magr->mhpmax)
|
||||||
magr->mhp = magr->mhpmax;
|
magr->mhp = magr->mhpmax;
|
||||||
|
|||||||
Reference in New Issue
Block a user