From: Mateusz Majewski Date: Tue, 28 Jan 2025 07:16:44 +0000 (+0100) Subject: Use epc_object_unref instead of _destroy consistently X-Git-Tag: accepted/tizen/unified/20250131.095236^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Faccepted%2Ftizen_unified;p=platform%2Fcore%2Fsystem%2Factivationd.git Use epc_object_unref instead of _destroy consistently The epc_object has built-in reference counting. The _destroy function only erases internal data of the object and seems to be intended in cases where an object is statically allocated, ignoring the reference counter. However, this does not seem to be actually used anywhere, and instead all _destroy instances we found were memory leaks, so we use _unref there. At the same time, we don't want to remove _destroy (or corresponding _init) completely, as it seems to be a part of the public activationd interface, and removing it could turn out to be a breaking change. Change-Id: I230d8a48223999eda778e5d301de013cca92c012 --- diff --git a/src/action/action_executor.c b/src/action/action_executor.c index 9d0a15e..87065b2 100644 --- a/src/action/action_executor.c +++ b/src/action/action_executor.c @@ -109,7 +109,7 @@ static int action_executor_callback(sd_event_source *s, int fd, ret = epc_event_create(ACTION_EXECUTED_EVENT_ID, &ae_data, &ev); if (ret < 0) { log_error("Unable to create action executed event"); - epc_object_destroy(ae_data.action_log); + epc_object_unref(ae_data.action_log); goto out; } diff --git a/src/event_types/dbus_signal_event.c b/src/event_types/dbus_signal_event.c index 29a22c3..a2cf5a5 100644 --- a/src/event_types/dbus_signal_event.c +++ b/src/event_types/dbus_signal_event.c @@ -143,7 +143,7 @@ static void dbus_signal_event_release(struct epc_event *ev) free(ds_ev->path_namespace); free(ds_ev->destination); if (ds_ev->match_params) - epc_object_destroy(ds_ev->match_params); + epc_object_unref(ds_ev->match_params); if (ds_ev->signal_params) g_variant_unref(ds_ev->signal_params); diff --git a/src/listeners/dbus.c b/src/listeners/dbus.c index 8da04d8..8327a8b 100644 --- a/src/listeners/dbus.c +++ b/src/listeners/dbus.c @@ -218,7 +218,7 @@ finish: free(ds_ev_data.path_namespace); free(ds_ev_data.destination); if (ds_ev_data.match_params) - epc_object_destroy(ds_ev_data.match_params); + epc_object_unref(ds_ev_data.match_params); } static void signal_cleanup(struct dbus_signal *s)