[comp.sources.games.bugs] omega core dump bug

robert@psych.psy.uq.oz (Robert Dal Santo) (01/31/88)

	I found that omega occasionally core dumped (or claimed to)
whenever I killed a monster on the first dungeon level. 

	After some tracing I found that the Mlist[Dlevel] linked list
was being stuffed up in otime.c.

	At ~line 59, the monster just killed is removed from the Mlist[Dlevel]
linked list and ml is set to ml->next.

	ml = ml->next;

	Then, this is repeated again outside the if statement. So when
you kill the last monster in the Mlist[Dlevel] the first ml = ml->next sets
ml to NULL, but then the second ml = ml->next corrupts the linked list.
You only get the core dump when you kill the last monster. When u kill
other monsters the result is to skip a monster.

	Fix by removing the statement

		ml = ml->next;
	    within the if conditional at approximately line 59 in otime.c.


--------------
Robert Dal Santo               Phone +61 7 377 4285

Department of Psychology,      ARPA:    robert%psych.psy.uq.oz@uunet.uu.net
University of Queensland,      UUCP:    ..!uunet!munnari!psych.psy.uq.oz!robert
St Lucia, Brisbane, 4067       JANET:   psych.psy.uq.oz!robert@ukc
AUSTRALIA.