aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-08-28DB/Schema: Fix typo in reputation_reward_rate.quest_repeatable_rate nameNay
2013-08-28Scripts/UtgardeKeep/Ingvar: remove hacks and fix warningjoschiwald
2013-08-28DB/Reputation: Reward 3x reputation for Sporegar on repeteable questsNay
Closes #5789
2013-08-28Core/Quests: Add repeatable quest rate to world.reputation_reward_rateAokromes
2013-08-28Core/Build: Force minimum ACE (5.8.3) and OpenSSL (1.0.0) version detectionSpp
Core/Build: Do not ignore command line cmake options: ACE_INCLUDE_DIR, ACE_LIBRARY and OPENSSL_INCLUDE_DIR
2013-08-27Merge branch 'master' of github.com:TrinityCore/TrinityCoreNay
2013-08-27Core&Scripts: Fix clang compiler warningsNay
2013-08-27Scripts/UtgardeKeep: reworked InstanceScript and cleanup some boss scriptjoschiwald
2013-08-27Server/Collision: Fix build on clangNay
2013-08-27Core/Misc: Fix compiler warningsNay
2013-08-27DB: Missing declarationFilip
2013-08-27DB/SAI: Sabotage 12676 (part 1)Filip
Fixes #6460
2013-08-27DB/SAI: Zero Tolerance & Hazardous MaterialsFilip
Use the Hand of Drakuru to kill Darmuk, player should stand from a distance.
2013-08-27DB/Loot: Bosses in Shattered Halls HeroicFilip
Fixes #10638 by @dr-j
2013-08-26DB/Comments: Unclear commentsFilip
2013-08-26DB/SAI: It Rolls Downhill 12673Filip
Fixes #5718 You need to have mmaps enabled if you want the delivering of the geist to look blizzlike, otherwise it will ignore the path.
2013-08-26Core/EventAI: Shut up compiler warningsShauren
2013-08-26Scripts/Auchindoun: add missing InstanceScripts and cleanup some boss scriptsjoschiwald
2013-08-26Build fixShauren
2013-08-26Core/Scripts: Fixed uninitialized variable and memory leaksShauren
2013-08-26Merge pull request #10636 from jackpoz/mindvision_fixShauren
Core/Aura: Fix SPELL_AURA_BIND_SIGHT invalid read
2013-08-26SAI & Scripts: Fix unitialized values found by ValgrindNay
==3064== Conditional jump or move depends on uninitialised value(s) ==3064== at 0x19B3031: boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::UpdateAI(unsigned int) (boss_skarvald_dalronn.cpp:217) ==3064== Conditional jump or move depends on uninitialised value(s) ==3064== at 0x19B3948: boss_dalronn_the_controller::boss_dalronn_the_controllerAI::UpdateAI(unsigned int) (boss_skarvald_dalronn.cpp:388) ==3064== Conditional jump or move depends on uninitialised value(s) ==3064== at 0x15E2FCC: SmartScript::ProcessAction(SmartScriptHolder&, Unit*, unsigned int, unsigned int, bool, SpellInfo const*, GameObject*) (SmartScript.cpp:144) ==3064== Conditional jump or move depends on uninitialised value(s) ==3064== at 0x191CB98: dummy_dragonAI::UpdateAI(unsigned int) (boss_sartharion.cpp:961) ==3064== by 0x191D242: npc_shadron::npc_shadronAI::UpdateAI(unsigned int) (boss_sartharion.cpp:1122) ==3064== Conditional jump or move depends on uninitialised value(s) ==3064== at 0x19AE913: boss_ymiron::boss_ymironAI::UpdateAI(unsigned int) (boss_ymiron.cpp:215) ==3064== Use of uninitialised value of size 8 ... ==3064== by 0x18A9F4A: boss_illidan_stormrage::boss_illidan_stormrageAI::Reset() (boss_illidan.cpp:1805) ==3064== Conditional jump or move depends on uninitialised value(s) ... ==3064== by 0x18A9F4A: boss_illidan_stormrage::boss_illidan_stormrageAI::Reset() (boss_illidan.cpp:1805) ==3064== Conditional jump or move depends on uninitialised value(s) ==3064== at 0x191CB98: dummy_dragonAI::UpdateAI(unsigned int) (boss_sartharion.cpp:961) ==3064== by 0x191CE88: npc_tenebron::npc_tenebronAI::UpdateAI(unsigned int) (boss_sartharion.cpp:1027) ==3064== Conditional jump or move depends on uninitialised value(s) ==3064== at 0x191CB98: dummy_dragonAI::UpdateAI(unsigned int) (boss_sartharion.cpp:961) ==3064== by 0x191D5B8: npc_vesperon::npc_vesperonAI::UpdateAI(unsigned int) (boss_sartharion.cpp:1220) ==3064== Conditional jump or move depends on uninitialised value(s) ... ==3064== by 0x1868F59: boss_lady_vashj::boss_lady_vashjAI::Reset() (boss_lady_vashj.cpp:206) ==3064== Conditional jump or move depends on uninitialised value(s) ==3064== at 0x191C14C: dummy_dragonAI::MovementInform(unsigned int, unsigned int) (boss_sartharion.cpp:802) ==3064== Conditional jump or move depends on uninitialised value(s) ==3064== at 0x1046986: Position::NormalizeOrientation(float) (Object.h:388) ... ==3064== by 0x17D9463: boss_malchezaar::boss_malchezaarAI::SummonInfernal(unsigned int) (boss_prince_malchezaar.cpp:373)
2013-08-26Core/Aura: Fix SPELL_AURA_BIND_SIGHT invalid readjackpoz
Mind Vision has Aura Effect SPELL_AURA_BIND_SIGHT which adds the target to a special Map container i_objectsToSwitch, used to switch grid containers for target Creatures of this Aura Effect. When the target is a Creature, when the Creature is removed from world it's added to i_objectsToSwitch and then to i_objectsToRemove, iterated in this order in Map::RemoveAllObjectsInRemoveList() so the reference in i_objectsToSwitch is valid. When the target is a Player, when the Player logs out it's added to i_objectsToSwitch but then Map::RemovePlayerFromMap() deletes the Player, leaving an invalid reference in i_objectsToSwitch. Since the whole point of i_objectsToSwitch is to store Creatures and since the stored references are used only if the condition "GetTypeId() == TYPEID_UNIT" is verified, it's safe to add only objects of TYPEID_UNIT type to the container. Valgrind log: Invalid read of size 4 at 0xC52332: Object::GetTypeId() const (Object.h:140) by 0xF540D3: Map::RemoveAllObjectsInRemoveList() (Map.cpp:2136) by 0xF53CD2: Map::DelayedUpdate(unsigned int) (Map.cpp:2087) by 0xF639B1: MapManager::Update(unsigned int) (MapManager.cpp:292) by 0x107CB40: World::Update(unsigned int) (World.cpp:2025) by 0xBEB263: WorldRunnable::run() (WorldRunnable.cpp:60) by 0x1213792: ACE_Based::Thread::ThreadTask(void*) (Threading.cpp:186) by 0x515EA35: ACE_OS_Thread_Adapter::invoke() (in /usr/lib/libACE-6.0.3.so) by 0x5F19F8D: start_thread (pthread_create.c:311) by 0x6A46E1C: clone (clone.S:113) Address 0x401eacac is 12 bytes inside a block of size 11,736 free'd at 0x4C2B59C: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0xD80239: Player::~Player() (Player.cpp:915) by 0xF4D5A2: void Map::DeleteFromWorld<Player>(Player*) (Map.cpp:319) by 0xF4EBBB: Map::RemovePlayerFromMap(Player*, bool) (Map.cpp:687) by 0xFCC18D: WorldSession::LogoutPlayer(bool) (WorldSession.cpp:531) by 0xF1EDD5: WorldSession::HandleLogoutRequestOpcode(WorldPacket&) (MiscHandler.cpp:403) by 0xFCAE37: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:312) by 0x107EBC6: World::UpdateSessions(unsigned int) (World.cpp:2615) by 0x107C94B: World::Update(unsigned int) (World.cpp:1978) by 0xBEB263: WorldRunnable::run() (WorldRunnable.cpp:60) by 0x1213792: ACE_Based::Thread::ThreadTask(void*) (Threading.cpp:186) by 0x515EA35: ACE_OS_Thread_Adapter::invoke() (in /usr/lib/libACE-6.0.3.so)
2013-08-26DB/Errors: Error fix Filip
Fixes #10634
2013-08-26Merge pull request #10633 from jackpoz/createguild_fixNay
Core/Guild: Fix uninitialized value on guild creation
2013-08-26Core/Guild: Fix uninitialized value on guild creationjackpoz
Fix GuildMember flags left uninitialized when creating a new guild. Valgrind log: Conditional jump or move depends on uninitialised value(s) at 0xEE49CE: Guild::Member::WritePacket(WorldPacket&) const (Guild.cpp:714) by 0xEE721E: Guild::HandleRoster(WorldSession*) (Guild.cpp:1314) by 0xEE9EBA: Guild::SendLoginInfo(WorldSession*) (Guild.cpp:1920) by 0xEEB689: Guild::AddMember(unsigned long, unsigned char) (Guild.cpp:2230) by 0xEE6A09: Guild::Create(Player*, std::string const&) (Guild.cpp:1199) by 0x12A71F9: guild_commandscript::HandleGuildCreateCommand(ChatHandler*, char const*) (cs_guild.cpp:92) by 0xC47DBE: ChatHandler::ExecuteCommandInTable(ChatCommand*, char const*, std::string const&) (Chat.cpp:362) by 0xC47C23: ChatHandler::ExecuteCommandInTable(ChatCommand*, char const*, std::string const&) (Chat.cpp:343) by 0xC488C4: ChatHandler::ParseCommands(char const*) (Chat.cpp:489) by 0x1188EE3: WorldSession::HandleMessagechatOpcode(WorldPacket&) (ChatHandler.cpp:217) by 0xFCAE37: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:312) by 0x107EBC6: World::UpdateSessions(unsigned int) (World.cpp:2615)
2013-08-26Core&Tools: Fix multiple issues found by a static code coverage toolNay
2013-08-26DB/SAI: Ribbly Screwspigot (4136)Filip
Fixes #6911
2013-08-26DB/SAI: Out of Body Experience (12327)Filip
Fixes #3084
2013-08-25Merge pull request #10624 from jackpoz/instancesavemgrMachiavelli
Core/Instances: Fix mutex released after being deleted
2013-08-25Core/Instances: Fix mutex released after being deletedjackpoz
Modify how InstanceSave is deleted so the local mutex can be released before deleting the class itself. Valgrind log: Invalid read of size 4 at 0x662662B: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:52) by 0x55D3C55: ACE_OS::mutex_unlock(pthread_mutex_t*) (OS_NS_Thread.cpp:2335) by 0xB20057: Player::CleanupsBeforeDelete(bool) (OS_NS_Thread.inl:3519) by 0xD0E2FA: WorldSession::LogoutPlayer(bool) (WorldSession.cpp:527) by 0xC66D34: WorldSession::HandleLogoutRequestOpcode(WorldPacket&) (MiscHandler.cpp:403) by 0xD0EA82: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:312) by 0xD9AD66: World::UpdateSessions(unsigned int) (World.cpp:2615) by 0xD9BEC4: World::Update(unsigned int) (World.cpp:1978) by 0xA035E5: WorldRunnable::run() (WorldRunnable.cpp:60) by 0xEC8D39: ACE_Based::Thread::ThreadTask(void*) (Threading.cpp:183) by 0x55D7555: ACE_OS_Thread_Adapter::invoke() (OS_Thread_Adapter.cpp:103) by 0x6622B4F: start_thread (pthread_create.c:304) Address 0x1884bb08 is 56 bytes inside a block of size 104 free'd at 0x4C279DC: operator delete(void*) (vg_replace_malloc.c:457) by 0xC9D533: InstanceSaveManager::RemoveInstanceSave(unsigned int) (InstanceSaveMgr.cpp:159) by 0xC9E826: InstanceSave::UnloadIfEmpty() (InstanceSaveMgr.cpp:238) by 0xB2003E: Player::CleanupsBeforeDelete(bool) (InstanceSaveMgr.h:84) by 0xD0E2FA: WorldSession::LogoutPlayer(bool) (WorldSession.cpp:527) by 0xC66D34: WorldSession::HandleLogoutRequestOpcode(WorldPacket&) (MiscHandler.cpp:403) by 0xD0EA82: WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:312) by 0xD9AD66: World::UpdateSessions(unsigned int) (World.cpp:2615) by 0xD9BEC4: World::Update(unsigned int) (World.cpp:1978) by 0xA035E5: WorldRunnable::run() (WorldRunnable.cpp:60) by 0xEC8D39: ACE_Based::Thread::ThreadTask(void*) (Threading.cpp:183) by 0x55D7555: ACE_OS_Thread_Adapter::invoke() (OS_Thread_Adapter.cpp:103)
2013-08-25DB/Sai: Make cauldrons reward buffsFilip
2013-08-25Core&Tools: Fix warnings and non-pch buildNay
2013-08-25Core/Player: Fix uninitialized Player field.jackpoz
m_MonthlyQuestChanged was initialized only when loading a Player from DB and left uninitialized when creating a new Player. Valgrind log: Conditional jump or move depends on uninitialised value(s) at 0x1148E2A: Player::_SaveMonthlyQuestStatus(Trinity::AutoPtr<Transaction, ACE_Thread_Mutex>&) (Player.cpp:19694) by 0x1146510: Player::SaveToDB(bool) (Player.cpp:19191) by 0x14F5D5C: WorldSession::HandleCharCreateCallback(Trinity::AutoPtr<PreparedResultSet, ACE_Thread_Mutex>, CharacterCreateInfo*) (CharacterHandler.cpp:660) Closes #10620 Signed-off-by: Nay <dnpd.dd@gmail.com>
2013-08-25Core/Auth: Implement time-based token for user login as described in RFC 6238.raczman
New column in account table is a base32 of token key bytes, coincidentally it is the same format Google's Authenticator Android app uses. If you want that to work, set system time on server correctly and use ntpd. Closes #10527 Signed-off-by: Nay <dnpd.dd@gmail.com>
2013-08-25Core/Threading: Fix race condition in Threadjackpoz
Increment the reference count of m_task in Thread::start() before spawning the actual Thread that will execute the task, otherwise the thread might finish, decRef the task and delete it. Valgrind log of the issue: Invalid read of size 8 at 0x1314CAD: ACE_Atomic_Op_GCC<long>::operator++() (Atomic_Op_GCC_T.inl:34) by 0x15933FB: ACE_Based::Runnable::incReference() (Threading.h:36) by 0x1592D2D: ACE_Based::Thread::start() (Threading.cpp:136) by 0x1592C37: ACE_Based::Thread::Thread(ACE_Based::Runnable*) (Threading.cpp:111) by 0xF6C463: Master::Run() (Master.cpp:195) by 0xF725D0: main (Main.cpp:142) Address 0x26137278 is 8 bytes inside a block of size 24 free'd at 0x4C2B59C: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0xF67FDB: RARunnable::~RARunnable() (RARunnable.cpp:55) by 0x1593441: ACE_Based::Runnable::decReference() (Threading.h:40) by 0x1592E92: ACE_Based::Thread::ThreadTask(void*) (Threading.cpp:186) by 0x515EA35: ACE_OS_Thread_Adapter::invoke() (in /usr/lib/libACE-6.0.3.so) by 0x5F19F8D: start_thread (pthread_create.c:311) by 0x6A46E1C: clone (clone.S:113) Closes #10619
2013-08-25DB/Creature: Fix startup errorsVincent-Michael
2013-08-24Core&Tools: Fix multiple issues found by a static code coverage toolNay
2013-08-24DB/SAI: Cannot Reproduce (13320,13355) & Retest Now (13321,13322,13356,13357)Filip
2013-08-24Merge pull request #10617 from jackpoz/updatemask_fixNay
Fix uninitialized UpdateMask field
2013-08-24DB/SAI: The Last of Her Kind credit updateFilip
By @untaught, fixes #10254
2013-08-24Fix uninitialized UpdateMask fieldjackpoz
Initialized UpdateMask::_bits to NULL in all constructors. UpdateMask(UpdateMask const& right) constructor sets the field count with SetCount() method before any field initialization. This means that SetCount() will call delete[] on the uninitialized _bits pointer field, leading to undefined behavior.
2013-08-24DB/Conditions: Awakening RodFilip
2013-08-24Core/Settings: Fix build in non cpp11 compilersNay
std::string back() was only introduced in C++11, a pity..
2013-08-24[DB/SAI] Sleeping Giants (11432 & 11433)Filip
2013-08-24Core/Settings: Fix a crash if worldserver.conf DataDir setting is emptyNay
2013-08-23Merge pull request #10559 from Discover-/Taxi-BenchmarkingNay
Core/Misc: Implement CMSG_SET_TAXI_BENCHMARK_MODE to toggle PLAYER_FLAGS...
2013-08-24Scripts: Fix two issues found by ValgrindNay
==3400== Invalid write of size 8 ==3400== at 0x1241C32: instance_ahnkahet::GetInstanceScript(InstanceMap*) const (instance_ahnkahet.cpp:54) ... ==3400== Conditional jump or move depends on uninitialised value(s) ==3400== at 0xB5DEAE: std::tr1::_Hashtable<unsigned long, std::pair<unsigned long const, Creature*>, std::allocator<std::pair<unsigned long const, Creature*> >, std::_Select1st<std::pair<unsigned long const, Creature*> >, std::equal_to<unsigned long>, std::tr1::hash<unsigned long>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true>::_M_find_node(std::tr1::__detail::_Hash_node<std::pair<unsigned long const, Creature*>, false>*, unsigned long const&, unsigned long) const (hashtable.h:830) ==3400== by 0xBDA4CA: std::tr1::_Hashtable<unsigned long, std::pair<unsigned long const, Creature*>, std::allocator<std::pair<unsigned long const, Creature*> >, std::_Select1st<std::pair<unsigned long const, Creature*> >, std::equal_to<unsigned long>, std::tr1::hash<unsigned long>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true>::find(unsigned long const&) (hashtable.h:698) ==3400== by 0xBDA5BF: HashMapHolder<Creature>::Find(unsigned long) (ObjectAccessor.h:67) ==3400== by 0xCB5C03: Map::GetCreature(unsigned long) (ObjectAccessor.h:114) ==3400== by 0xB6E6EF: Unit::GetCreature(WorldObject&, unsigned long) (Unit.cpp:13023) ==3400== by 0x10F0790: boss_hydross_the_unstable::boss_hydross_the_unstableAI::Reset() (boss_hydross_the_unstable.cpp:164)
2013-08-23Tools: Fix compiler warningsNay
2013-08-23[DB/Errors] Really fix a few more errors.Filip