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