From 6ebfd334789fb0fc654da1b7359aee81d0b25d5b Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Thu, 29 Oct 2015 09:24:58 +0100 Subject: [PATCH] coverity scan CID 22503: negative array index write --- src/summary.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/summary.c b/src/summary.c index f38839db0..4b7e037a8 100644 --- a/src/summary.c +++ b/src/summary.c @@ -414,6 +414,7 @@ summary *make_summary(void) for (u = r->units; u; u = u->next) freset(u->faction, FFL_SELECT); for (u = r->units; u; u = u->next) { + int orace; f = u->faction; if (!is_monsters(u->faction)) { skill *sv; @@ -452,7 +453,10 @@ summary *make_summary(void) f->num_total += u->number; f->money += get_money(u); - s->poprace[old_race(u_race(u))] += u->number; + orace = (int)old_race(u_race(u)); + if (orace >= 0) { + s->poprace[orace] += u->number; + } } } }