Sedit Crashing MUD with free().

From: David Cole (tiznor@softhome.net)
Date: 06/09/02


Hello,

I've seemed to have found, or created a new bug which crashes the MUD. I'm
working with MSVC6.0 (Windows) and Circle30bpl17. I've added many things,
none that should really matter to describe this bug. What happens is every
time you go to leave sedit, by Q then Yes/Y to save. The MUD, put simply,
goes boom. Debug complains about free(), though I do not know why, when the
debug application starts it complains about not being able to find dbgheap.c
which is a file that is not within my source code for circle, so sense I
don't have the file I have to cancel the action and then the only errors
under free that I get look like this:

_free_dbg(void *, int)
004BD618   int         3

_free(void *)
004BD53E   add         esp,8

The next thing it complains about is copy_list() below,

copy_list(short **, short*)
i -858993460
num_items -858993460
tlist 0x00bd8080
*tlist 0x2020206e

The main line it is complaining about is this:
void copy_list(sh_int **tlist, sh_int *flist)
{
  int num_items, i;

  if (*tlist)
    free(*tlist); // Right Here. Points at this line.

free() is defined as:
_CRTIMP void   __cdecl free(void *);
in stdlib.h

then it goes on to copy_shop(),

copy_shop(shop_data *, shop_data *)
fshop 0x00bd9e90
tshop 0x00bd8040


Then it continues complaining about copy_shop() through out the entire *.c
files that it is used in. I'm baffled, especially sense the shop code is
stock. Anyone care to enlighten me? TIA.

Thanks,
Dave

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   | Newbie List:  http://groups.yahoo.com/group/circle-newbies/   |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 06/25/03 PDT