strstr is in your libc so that's not the problem. Look at #1, specifically line 96 in ban.c Is that feeding strstr a null or entirely garbage argument?
#0 0x0035257e in strstr () from /lib/tls/libc.so.6 #1 0x080a4534 in Valid_Name (newname=0xbff20b20 "maximus") at ban.c:280 #2 0x080c1c34 in nanny (d=0xb7aaf008, arg=0xbff20f40 "maximus") at interpreter.c:1942 #3 0x0804e3fb in game_loop (mother_desc=3) at comm.c:869 #4 0x0804e594 in init_game (port=1280) at comm.c:479 #5 0x0804e91b in main (argc=3, argv=0xbff23374) at comm.c:349 (gdb) up #1 0x080a4534 in Valid_Name (newname=0xbff20b20 "maximus") at ban.c:280 280 if (strstr(tempname, invalid_list)) (gdb) print Valid_Name $1 = {int (char *)} 0x80a445c <Valid_Name> (gdb) up #2 0x080c1c34 in nanny (d=0xb7aaf008, arg=0xbff20f40 "maximus") at interpreter.c:1942 1942 if ((_parse_name(arg, tmp_name)) || strlen(tmp_name) < 2 || (gdb) print nanny $2 = {void (struct descriptor_data *, char *)} 0x80c06b8 <nanny> Another part of the bug i think
31 Dec, 2008, David Haley wrote in the 32nd comment:
Votes: 0
All you're printing there are the function symbols, which aren't terribly informative. You need to be showing the variable values, like tempname and invalid_list.