From 494789f8d0edc0c1d84158bcf03b4427f9ba88b5 Mon Sep 17 00:00:00 2001 From: hg <4683435+hgtw@users.noreply.github.com> Date: Tue, 27 Sep 2022 19:59:16 -0400 Subject: [PATCH] Fix reward item instance memory leak --- zone/task_client_state.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zone/task_client_state.cpp b/zone/task_client_state.cpp index 55cf2799a..49c906183 100644 --- a/zone/task_client_state.cpp +++ b/zone/task_client_state.cpp @@ -990,8 +990,8 @@ void ClientTaskState::RewardTask(Client *c, const TaskInformation *ti, ClientTas } if (item_id > 0) { - EQ::ItemInstance *inst = database.CreateItem(item_id, charges); - bool stacked = c->TryStacking(inst); + std::unique_ptr inst(database.CreateItem(item_id, charges)); + bool stacked = c->TryStacking(inst.get()); if (!stacked) { int16_t slot = c->GetInv().FindFreeSlot(inst->IsClassBag(), true, inst->GetItem()->Size); c->SummonItem(item_id, charges, 0, 0, 0, 0, 0, 0, false, slot);