Fix memory leak issue 93/92093/1 accepted/tizen/3.0/ivi/20161028.133916 accepted/tizen/3.0/mobile/20161028.133017 accepted/tizen/3.0/tv/20161028.133338 accepted/tizen/3.0/wearable/20161028.133647 accepted/tizen/common/20161013.160657 accepted/tizen/ivi/20161014.022434 accepted/tizen/mobile/20161014.022617 accepted/tizen/tv/20161014.022410 accepted/tizen/wearable/20161014.022507 submit/tizen/20161013.091123 submit/tizen_3.0/20161028.062323 submit/tizen_3.0/20161028.082423 submit/tizen_3.0_common/20161104.104000
authorWootak Jung <wootak.jung@samsung.com>
Thu, 13 Oct 2016 07:48:16 +0000 (16:48 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Thu, 13 Oct 2016 07:48:16 +0000 (16:48 +0900)
- 'new_master' is not freed if alarmmgr_init() is failed
- move alarmmgr_init() logic to above

Change-Id: I52d497dd43f3652cd3dc004c82f163603d6830d4

packaging/tel-plugin-packetservice.spec
src/ps_master.c

index 566a720..b2b45eb 100644 (file)
@@ -1,6 +1,6 @@
 %define major 0
 %define minor 3
-%define patchlevel 31
+%define patchlevel 32
 
 Name:           tel-plugin-packetservice
 Version:        %{major}.%{minor}.%{patchlevel}
index be6c07b..c8ccdf3 100644 (file)
@@ -319,6 +319,12 @@ gpointer _ps_master_create_master(GDBusConnection *conn, TcorePlugin *p)
        master = packet_service_master_skeleton_new();
        g_return_val_if_fail(master != NULL, NULL);
 
+       /*Alarm manager init*/
+       dbg("init alarm manager.");
+       if (alarmmgr_init("packetservice") != ALARMMGR_RESULT_SUCCESS) {
+               err("Failed to init alarm manager");
+               goto FAILURE;
+       }
 
        /*Initializing the master list for internal referencing*/
        new_master = g_try_malloc0(sizeof(ps_master_t));
@@ -356,12 +362,6 @@ gpointer _ps_master_create_master(GDBusConnection *conn, TcorePlugin *p)
        __ps_master_register_key_callback(new_master, KEY_WECONN_ALL_CONNECTED);
 #endif
 
-       /*Alarm manager init*/
-       dbg("init alarm manager.");
-       if (alarmmgr_init("packetservice") != ALARMMGR_RESULT_SUCCESS) {
-               err("Failed to init alarm manager");
-               goto FAILURE;
-       }
        /*Adding Hook for modem addition laters*/
        tcore_server_add_notification_hook(tcore_plugin_ref_server(p),
                TNOTI_SERVER_ADDED_MODEM_PLUGIN, __on_hook_modem_added, new_master);
@@ -374,9 +374,9 @@ gpointer _ps_master_create_master(GDBusConnection *conn, TcorePlugin *p)
        return new_master;
 
 FAILURE:
-               err("Unable to create master");
-               g_object_unref(master);
-               return NULL;
+       err("Unable to create master");
+       g_object_unref(master);
+       return NULL;
 }
 
 gboolean _ps_master_create_modems(gpointer object, TcorePlugin *modem_plg)