From: Piotr Kosko Date: Fri, 2 Oct 2020 10:19:32 +0000 (+0200) Subject: [Common] Fixed possible memory leak X-Git-Tag: submit/tizen/20201005.050422~1^2^2^2^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d57530675d984f0ce4b0c2bc4e97d2f0fd6f4f40;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Common] Fixed possible memory leak [verification] Code compiles without errors Change-Id: Ib8c7843461a575fd05d3b28e4db1fab35cc08ccb --- diff --git a/src/common/task-queue.cpp b/src/common/task-queue.cpp index 9bafdae4..f5202107 100644 --- a/src/common/task-queue.cpp +++ b/src/common/task-queue.cpp @@ -39,7 +39,10 @@ void* TaskQueue::WorkCallback(void* data) { if (nullptr != d) { d->work_callback_(); if (d->after_work_callback_) { - g_idle_add(AfterWorkCallback, d); + if (!g_idle_add(AfterWorkCallback, d)) { + LoggerE("g_idle_add failed"); + delete d; + } } } return nullptr; @@ -61,7 +64,10 @@ void TaskQueue::Queue(const std::function& work, const std::function& work) { QueueData* d = new QueueData(); d->after_work_callback_ = work; - g_idle_add(AfterWorkCallback, d); + if (!g_idle_add(AfterWorkCallback, d)) { + LoggerE("g_idle_add failed"); + delete d; + } } } // namespace common diff --git a/src/common/task-queue.h b/src/common/task-queue.h index fb3300a3..94a97af4 100644 --- a/src/common/task-queue.h +++ b/src/common/task-queue.h @@ -114,7 +114,10 @@ void* TaskQueue::WorkCallback(void* data) { QueueData* d = static_cast*>(data); if (nullptr != d) { d->work_callback_(d->data_); - g_idle_add(AfterWorkCallback, d); + if (!g_idle_add(AfterWorkCallback, d)) { + LoggerE("g_idle_add failed"); + delete d; + } } return nullptr; } @@ -142,7 +145,10 @@ void TaskQueue::Async(const std::function&)>& work QueueData* d = new QueueData(); d->after_work_callback_ = work; d->data_ = data; - g_idle_add(AfterWorkCallback, d); + if (!g_idle_add(AfterWorkCallback, d)) { + LoggerE("g_idle_add failed"); + delete d; + } } } // namespace common