Crashing after a self-deletion

From: Michael Simons (s0004589@MONTEAGLE.NIAGARA.EDU)
Date: 12/04/97


I'm not sure if this is stock bug or not, but a character deletes, the
next person to log in crashes the mud when they enter their password.

I have output from cvdump (my machine doesn't have gdb) as follows:

_lmalloc(<stripped>) ["malloc.c":336, 0x0f900fa4]
_malloc(<stripped>) ["malloc.c":105, 0x0f900a98]
_calloc(<stripped>) ["malloc.c":803, 0x0f901c04]
write_to_q(txt = 0x1090b038 = "johndoe", queue = 0x108e9244,aliased = 0) ["comm.c":941, 0x00450e3c]
process_input(t = 0x108e8ad0) ["comm.c":1530, 0x004525b8]
game_loop(mother_desc = 3) ["comm.c":630, 0x0044ffd8]
init_game(port = 4000) ["comm.c":278, 0x0044f084]
main(argc = 2, argv = 0x7fff2f44) ["comm.c":249, 0x0044ef64]
__istart(<stripped>) ["crt1tinit.s":13, 0x0040e3b0]

my write to q() is:

void write_to_q(char *txt, struct txt_q *queue, int aliased)
{
  struct txt_block *new_txt;

  CREATE(new_txt, struct txt_block, 1); /* line 941 */
  CREATE(new_txt->text, char, strlen(txt) + 1);
  strcpy(new_txt->text, txt);
  new_txt->aliased = aliased;

  /* queue empty? */
  if (!queue->head) {
    new_txt->next = NULL;
    queue->head = queue->tail = new_txt;
  } else {
    queue->tail->next = new_txt;
    queue->tail = new_txt;
    new_txt->next = NULL;
  }
}

Anyone have a clue?

------------------------------------------------------------------------
                *****************************
                *        Mike Simons        *
                *       Rystan Geomar       *
                *   saffron.hack.net 9000   *
                * simons@donner.niagara.edu *
                *****************************


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



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