Loading...   


==7776==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000422338 at pc 0x7f621f152568 bp 0x7fffdd3cb2e0 sp 0x7fffdd3cb2b8
READ of size 1 at 0x604000422338 thread T0
    #0 0x7f621f152567 in strlen (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x31567)
    #1 0x7f621db64713 in std::string::operator=(char const*) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xbf713)
    #2 0x158ec77 in Underfoot::Strategy::Encode_OP_FormattedMessage(EQApplicationPacket**, EQStream*, bool) /home/eqemu/build/EQEmuServer/common/patches/underfoot.cpp:798
    #3 0x138dbe6 in StructStrategy::Encode(EQApplicationPacket**, EQStream*, bool) const /home/eqemu/build/EQEmuServer/common/struct_strategy.cpp:27
    #4 0x1315267 in EQStreamProxy::FastQueuePacket(EQApplicationPacket**, bool) /home/eqemu/build/EQEmuServer/common/eq_stream_proxy.cpp:41
    #5 0x1314e25 in EQStreamProxy::QueuePacket(EQApplicationPacket const*, bool) /home/eqemu/build/EQEmuServer/common/eq_stream_proxy.cpp:35
    #6 0x73504d in Client::QueuePacket(EQApplicationPacket const*, bool, Mob::CLIENT_CONN_STATUS, eqFilterType) /home/eqemu/build/EQEmuServer/zone/client.cpp:678
    #7 0x73aeb2 in Client::Message_StringID(unsigned int, unsigned int, char const*, char const*, char const*, char const*, char const*, char const*, char const*, char const*, char const*, unsigned int) /home/eqemu/build/EQEmuServer/zone/client.cpp:2862
    #8 0x1183aa0 in Client::GetFocusEffect(focusType, unsigned short) /home/eqemu/build/EQEmuServer/zone/spell_effects.cpp:5437
    #9 0x8da040 in Client::GetActSpellCasttime(unsigned short, int) /home/eqemu/build/EQEmuServer/zone/effects.cpp:437
    #10 0x11b0734 in Mob::DoCastSpell(unsigned short, unsigned short, unsigned short, int, int, unsigned int*, unsigned int, unsigned int, unsigned int, unsigned int, short) /home/eqemu/build/EQEmuServer/zone/spells.cpp:386
    #11 0x11a42de in Mob::CastSpell(unsigned short, unsigned short, unsigned short, int, int, unsigned int*, unsigned int, unsigned int, unsigned int, unsigned int, short*) /home/eqemu/build/EQEmuServer/zone/spells.cpp:323
    #12 0x7cd994 in Client::Handle_OP_CastSpell(EQApplicationPacket const*) /home/eqemu/build/EQEmuServer/zone/client_packet.cpp:4042
    #13 0x80087f in Client::HandlePacket(EQApplicationPacket const*) /home/eqemu/build/EQEmuServer/zone/client_packet.cpp:477
    #14 0x836252 in Client::Process() /home/eqemu/build/EQEmuServer/zone/client_process.cpp:696
    #15 0x990fa2 in EntityList::MobProcess() /home/eqemu/build/EQEmuServer/zone/entity.cpp:489
    #16 0xdecd03 in main /home/eqemu/build/EQEmuServer/zone/net.cpp:428
    #17 0x7f621d206b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)
    #18 0x6b3be8 (/home/eqemu/build/EQEmuServer/Build/bin/zone+0x6b3be8)

0x604000422338 is located 0 bytes to the right of 40-byte region [0x604000422310,0x604000422338)
allocated by thread T0 here:
    #0 0x7f621f17611f in operator new[](unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x5511f)
    #1 0x12b5418 in BasePacket::BasePacket(unsigned char const*, unsigned int) /home/eqemu/build/EQEmuServer/common/base_packet.cpp:33
    #2 0x130a486 in EQPacket::EQPacket(EmuOpcode, unsigned char const*, unsigned int) /home/eqemu/build/EQEmuServer/common/eq_packet.cpp:40
    #3 0x130a570 in EQApplicationPacket /home/eqemu/build/EQEmuServer/common/eq_packet.h:125
    #4 0x130a570 in EQApplicationPacket::Copy() const /home/eqemu/build/EQEmuServer/common/eq_packet.cpp:455
    #5 0x1314ddc in EQStreamProxy::QueuePacket(EQApplicationPacket const*, bool) /home/eqemu/build/EQEmuServer/common/eq_stream_proxy.cpp:34
    #6 0x73504d in Client::QueuePacket(EQApplicationPacket const*, bool, Mob::CLIENT_CONN_STATUS, eqFilterType) /home/eqemu/build/EQEmuServer/zone/client.cpp:678
    #7 0x73aeb2 in Client::Message_StringID(unsigned int, unsigned int, char const*, char const*, char const*, char const*, char const*, char const*, char const*, char const*, char const*, unsigned int) /home/eqemu/build/EQEmuServer/zone/client.cpp:2862
    #8 0x1183aa0 in Client::GetFocusEffect(focusType, unsigned short) /home/eqemu/build/EQEmuServer/zone/spell_effects.cpp:5437
    #9 0x8da040 in Client::GetActSpellCasttime(unsigned short, int) /home/eqemu/build/EQEmuServer/zone/effects.cpp:437
    #10 0x11b0734 in Mob::DoCastSpell(unsigned short, unsigned short, unsigned short, int, int, unsigned int*, unsigned int, unsigned int, unsigned int, unsigned int, short) /home/eqemu/build/EQEmuServer/zone/spells.cpp:386
    #11 0x11a42de in Mob::CastSpell(unsigned short, unsigned short, unsigned short, int, int, unsigned int*, unsigned int, unsigned int, unsigned int, unsigned int, short*) /home/eqemu/build/EQEmuServer/zone/spells.cpp:323
    #12 0x7cd994 in Client::Handle_OP_CastSpell(EQApplicationPacket const*) /home/eqemu/build/EQEmuServer/zone/client_packet.cpp:4042
    #13 0x80087f in Client::HandlePacket(EQApplicationPacket const*) /home/eqemu/build/EQEmuServer/zone/client_packet.cpp:477
    #14 0x836252 in Client::Process() /home/eqemu/build/EQEmuServer/zone/client_process.cpp:696
    #15 0x990fa2 in EntityList::MobProcess() /home/eqemu/build/EQEmuServer/zone/entity.cpp:489
    #16 0xdecd03 in main /home/eqemu/build/EQEmuServer/zone/net.cpp:428
    #17 0x7f621d206b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

SUMMARY: AddressSanitizer: heap-buffer-overflow ??:0 strlen
Shadow bytes around the buggy address:
  0x0c088007c410: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c088007c420: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c088007c430: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c088007c440: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c088007c450: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c088007c460: fa fa 00 00 00 00 00[fa]fa fa 00 00 00 00 00 fa
  0x0c088007c470: fa fa 00 00 00 00 00 01 fa fa fd fd fd fd fd fd
  0x0c088007c480: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
  0x0c088007c490: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
  0x0c088007c4a0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
  0x0c088007c4b0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Contiguous container OOB:fc
  ASan internal:           fe
==7776==ABORTING

fuck

Raw Paste Data