I have a problem with red hat linux 4.2 and libc_free it gives me the folling from gdb when I edit a new mob Wed Jun 10 14:59:24 :: OLC: Juno edits mob 21001 Program received signal SIGSEGV, Segmentation fault. 0x4004249d in __libc_free () (gdb) back #0 0x4004249d in __libc_free () #1 0xfb4 in ?? () #2 0x1 in ?? () #3 0x104ec in ?? () Cannot access memory at address 0x81e58955. The mud will crach and I have no idea why. Here is where I beleive the problem code is. void medit_free_mobile(struct char_data * mob) { int i; if (GET_MOB_RNUM(mob) == -1) /* Non prototyped mobile */ { if (mob->player.name) free(mob->player.name); if (mob->player.title) free(mob->player.title); if (mob->player.short_descr) free(mob->player.short_descr); if (mob->player.long_descr) free(mob->player.long_descr); if (mob->player.description) free(mob->player.description); } else if ((i = GET_MOB_RNUM(mob)) > -1) /* Prototyped mobile */ { if (mob->player.name && mob->player.name != mob_proto[i].player.name) free(mob->player.name); if (mob->player.title && mob->player.title != mob_proto[i].player.title) free(mob->player.title); if (mob->player.short_descr && mob->player.short_descr != mob_proto[i].player.short_descr) free(mob->player.short_descr); if (mob->player.long_descr && mob->player.long_descr != mob_proto[i].player.long_descr) free(mob->player.long_descr); if (mob->player.description && mob->player.description != mob_proto[i].player.description) free(mob->player.description); } while (mob->affected) +------------------------------------------------------------+ | 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/15/00 PST