- dgs/redit - wierd bug

From: Tom Dailey (tomd@waymark.net)
Date: 03/21/99


Hello,

We are very modified pl 8 with the original redit from Levork,
so I cannot post much (length reasons).  But here's the bug.
We just added dg_scripts and have a bug where if you add
a script in redit and then save, the game crashes.  If we comment
out the below code, the game does not crash, but the script will
only work if we reboot.  Below the following code is the gdb output.

283:  /* delete the old script list */
284:          proto = world[room_num].proto_script;
285:          while (proto) {
286:                fproto = proto;
287:               proto = proto->next;
288:                free(fproto);

GDB output on crash:

#0  0xc4084 in save_room (rdat=0xf02aa0, room_vnum=1204, rzone=11,
ch=0x106e110,
curscript=0x0) at redit.c:288
288                     free(fproto);
(gdb) frame 1
#1  0xc4f60 in redit_parse (d=0x106a918, arg=0xeffff638 "y") at redit.c:645
645           save_room(OLC_ROOM(d), OLC_NUM(d), OLC_ZNUM(d), d->character,
OLC_S
CRIPT(d));
(gdb) frame 2
#2  0xa1c20 in nanny (d=0x106a918, arg=0xeffff638 "y") at interpreter.c:1765
1765        redit_parse(d, arg);

Any help is appreciated...

Tom


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST