From: Junghoon Park Date: Fri, 24 Apr 2020 05:54:05 +0000 (+0900) Subject: Fix memory leak X-Git-Tag: submit/tizen/20200427.034015~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b3b5cb47b5db5df206034c5be4e9a1d7725a6bdc;p=platform%2Fcore%2Fappfw%2Fwidget-viewer.git Fix memory leak Change-Id: I0d0d9b6430d3c755b5cadaa8be5b44f57f8c1c1e Signed-off-by: Junghoon Park --- diff --git a/ambient-viewer/src/ambient-viewer.cc b/ambient-viewer/src/ambient-viewer.cc index edb3f8f0..56a06c00 100644 --- a/ambient-viewer/src/ambient-viewer.cc +++ b/ambient-viewer/src/ambient-viewer.cc @@ -77,15 +77,13 @@ string AmbientViewer::GetUUID(string rid) const { void AmbientViewer::OnChangedSignal(keynode_t *node, void *user_data) { AmbientViewer* viewer = (AmbientViewer*)user_data; - const char* raw = vconf_get_str(VCONFKEY_WATCH_CURRENT_WATCH_INFO); - if (raw == nullptr || strlen(raw) == 0) { - if (raw != nullptr) - free((void*)raw); + char* raw = vconf_get_str(VCONFKEY_WATCH_CURRENT_WATCH_INFO); + unique_ptr safe_raw(raw, free); + if (safe_raw.get() == nullptr || strlen(safe_raw.get()) == 0) return; - } try { - Bundle data(raw); + Bundle data(safe_raw.get()); string appid = data.GetString(NOTIFY_CHANGED_EVENT_APPID_KEY); string rid = data.GetString(NOTIFY_CHANGED_EVENT_RID_KEY); viewer->watch_surface_ = viewer->CreateWatchSurface(