From d5d0617090f2cc1fb9c5f2a8b12275c677fa6633 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sun, 20 Jun 2021 00:18:36 +0200 Subject: [PATCH] get rid of new coverity scan warnings --- src/kernel/event.c | 15 ++++++++++----- src/spells/combatspells.c | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/kernel/event.c b/src/kernel/event.c index 0581aa999..c7523475c 100644 --- a/src/kernel/event.c +++ b/src/kernel/event.c @@ -29,8 +29,10 @@ void write_triggers(struct storage *store, const trigger * t) int read_triggers(struct gamedata *data, trigger ** tp) { + assert(*tp == NULL); for (;;) { trigger_type *ttype; + trigger *tr; char zText[128]; READ_TOK(data->store, zText, sizeof(zText)); @@ -38,19 +40,22 @@ int read_triggers(struct gamedata *data, trigger ** tp) break; ttype = tt_find(zText); assert(ttype || !"unknown trigger-type"); - *tp = t_new(ttype); + tr = t_new(ttype); + assert(tr->next == NULL); if (ttype->read) { int i = ttype->read(*tp, data); switch (i) { case AT_READ_OK: - tp = &(*tp)->next; + *tp = tr; + tp = &tr->next; break; case AT_READ_FAIL: - t_free(*tp); - free(*tp); - *tp = NULL; + t_free(tr); + free(tr); break; default: + t_free(tr); + free(tr); assert(!"invalid return value"); break; } diff --git a/src/spells/combatspells.c b/src/spells/combatspells.c index 97d29536b..d8d4789c6 100644 --- a/src/spells/combatspells.c +++ b/src/spells/combatspells.c @@ -1184,7 +1184,7 @@ int sp_appeasement(struct castorder * co) /* Fliehende Einheiten verlassen auf jeden Fall Gebaeude und Schiffe. */ if (!(r->terrain->flags & SEA_REGION)) { - leave(mage, false); + (void)leave(mage, false); } /* und bewachen nicht */ setguard(mage, false);