Code: Select all
0: 01 00 2E 00 67 72 6F 75 - 70 20 63 72 65 61 74 65 | ....group create
16: 20 4F 75 74 70 6F 73 74 - 4F 76 65 72 6C 6F 72 64 | OutpostOverlord
32: 5F 61 54 75 6E 61 72 69 - 61 6E 46 61 6C 63 6F 6E | _aTunarianFalcon
48: 65 72 | er
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb3ca2b90 (LWP 29173)]
0x002d76d8 in ____strtoul_l_internal (nptr=0x0, endptr=0x0, base=10, group=0,
loc=0x417380) at strtol_l.c:298
298 while (ISSPACE (*s))
Current language: auto; currently c
(gdb) bt
#0 0x002d76d8 in ____strtoul_l_internal (nptr=0x0, endptr=0x0, base=10,
group=0, loc=0x417380) at strtol_l.c:298
#1 0x002d6ff0 in strtoul (nptr=0x0, endptr=0x0, base=10) at strtol.c:110
#2 0x0811f63c in WorldDatabase::CreateSpawnGroup (this=0x822c720,
spawn=0xf297e68, name=
{static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x11bff6cc "OutpostOverlord_aTunarianFalconer"}}) at WorldDatabase.cpp:1878
#3 0x080a6f37 in Commands::Process (this=0x822c65c, index=1,
command_parms=0xb3ca20f4, client=0xfb9aad0) at Commands.cpp:1796
#4 0x080eb584 in Client::HandlePacket (this=0xfb9aad0, app=0xb1d00528)
at client.cpp:1022
#5 0x080ebb5f in Client::Process (this=0xfb9aad0, zone_process=true)
at client.cpp:1406
#6 0x081675ff in ZoneServer::ClientProcess (this=0xeb44408)
at zoneserver.cpp:1630
#7 0x0816ef15 in ZoneServer::Process (this=0xeb44408) at zoneserver.cpp:802
#8 0x0816f3b2 in ZoneLoop (tmp=0xeb44408) at zoneserver.cpp:3332
#9 0x0042a51f in start_thread (arg=0xb3ca2b90) at pthread_create.c:297
#10 0x0038b04e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130You're welcome.
Btw, if we keep 'name' as a valid field, it'll need to be way bigger than 32 chars, for how I plan to use it
Edit: Changed my local DB to varchar(64) and no crashing. Regardless of length, you probably don't want world crashing if the strlen is too long. Duh huh?