From: mk5004.lee Date: Tue, 2 Apr 2019 01:54:34 +0000 (+0900) Subject: Fix some issues X-Git-Tag: submit/tizen/20190403.013039~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ee02155edd1deb53b96fecb26d0fe54038166b6a;p=platform%2Fcore%2Fapi%2Fnotification.git Fix some issues - memory leak use thread safety func Change-Id: I77f5c19f04a57a247f3bd9fc6ea7ffe5585db41a Signed-off-by: mk5004.lee --- diff --git a/notification-ex/abstract_item.cc b/notification-ex/abstract_item.cc index 858fb643..3440a1cd 100644 --- a/notification-ex/abstract_item.cc +++ b/notification-ex/abstract_item.cc @@ -127,7 +127,7 @@ AbstractItem::~AbstractItem() = default; Bundle AbstractItem::Serialize() const { Bundle b; - struct tm* timeinfo; + struct tm timeinfo; char buf[80] = {0,}; if (impl_->uid_ == 0) @@ -145,8 +145,8 @@ Bundle AbstractItem::Serialize() const { b.Add(ABSTRACT_ITEM_UID_KEY, to_string(impl_->uid_)); b.Add(ABSTRACT_ITEM_TAG_KEY, impl_->tag_); - timeinfo = localtime(&impl_->time_); - strftime (buf, sizeof(buf), "%s", timeinfo); + localtime_r(&impl_->time_, &timeinfo); + strftime (buf, sizeof(buf), "%s", &timeinfo); b.Add(ABSTRACT_ITEM_TIME_KEY, string(buf)); if (!impl_->can_receive_.empty()) diff --git a/notification-ex/db_manager.cc b/notification-ex/db_manager.cc index 5b5d5fe9..e5baaf29 100644 --- a/notification-ex/db_manager.cc +++ b/notification-ex/db_manager.cc @@ -280,6 +280,7 @@ void DBManager::CheckLimit(shared_ptr addedItem, sqlite3* db addedItem->GetSenderAppId().c_str(), uid); if (query == nullptr) { LOGE("OOM - sql query"); + sqlite3_finalize(stmt); return; } diff --git a/notification-ex/time_item.cc b/notification-ex/time_item.cc index f02e4132..b57b9f46 100644 --- a/notification-ex/time_item.cc +++ b/notification-ex/time_item.cc @@ -59,15 +59,15 @@ int TimeItem::GetType() const { Bundle TimeItem::Serialize() const { Bundle b; - struct tm* timeinfo; + struct tm timeinfo; char buf[80] = {0,}; b = AbstractItem::Serialize(); //timt_t to tm - timeinfo = localtime(&impl_->time_); + localtime_r(&impl_->time_, &timeinfo); //tm to str - strftime (buf, sizeof(buf), "%s", timeinfo); + strftime (buf, sizeof(buf), "%s", &timeinfo); b.Add(TIME_KEY, std::string(buf)); return b;