Fix a memory leak issue 38/154338/1
authorsinikang <sinikang@samsung.com>
Tue, 10 Oct 2017 05:33:33 +0000 (14:33 +0900)
committersinikang <sinikang@samsung.com>
Tue, 10 Oct 2017 05:33:33 +0000 (14:33 +0900)
 - fix for CID 38927, CID 37097

Change-Id: I610f5f8441efbcbdabc340275465742eca79a0c7

packaging/tel-plugin-dbus_tapi.spec
src/dtapi_call.c
src/dtapi_sat_manager.c

index a71387951cd414869ea58b83e23f5a268ad9d242..e658dff9446189d19e6beb269ea6a9d0975dbf49 100644 (file)
@@ -1,6 +1,6 @@
 %define major 0
 %define minor 3
-%define patchlevel 88
+%define patchlevel 89
 
 Name:           tel-plugin-dbus_tapi
 Version:        %{major}.%{minor}.%{patchlevel}
index 20a6aeb695937e1f65e7809bf1bf616f70fe95a8..04b56ae95d0d32844c72f279a43d6a15c2e7eb35 100644 (file)
@@ -1768,6 +1768,9 @@ gboolean dbus_plugin_call_notification(struct custom_data *ctx,
                                        err("Unknown rec info type (%d)", noti->rec_info.type);
                                        return FALSE;
                                }
+                               if (packet_param)
+                                       g_variant_unref(packet_param);
+
                                dbg("[ check ] TNOTI_CALL_INFO_REC : id:(%d) type:(%d)", noti->rec_info.handle, noti->rec_info.type);
                                telephony_call_emit_call_info_rec(call, noti->rec_info.handle, noti->rec_info.type, param);
                        } break;
index 911ecccce70364b348bf44ba2050f661f6b1c1ad..c17dd973d93352960512e2f91807664622fb4a52 100644 (file)
@@ -3977,8 +3977,6 @@ static gboolean sat_manager_handle_open_channel_result(struct custom_data *ctx,
                        &bearer_type, &channel_id, &channel_status, &channel_status_info, &buffer_size,
                        &other_info, &desc_tmp);
 
-       bearer_desc = g_variant_get_variant(desc_tmp);
-
        tr = (struct treq_sat_terminal_rsp_data *)calloc(1, sizeof(struct treq_sat_terminal_rsp_data));
        if (!tr)
                return result;
@@ -3991,6 +3989,9 @@ static gboolean sat_manager_handle_open_channel_result(struct custom_data *ctx,
        tr->terminal_rsp_data.open_channel.device_id.dest = q_data.cmd_data.open_channel.device_id.src;
 
        tr->terminal_rsp_data.open_channel.result_type = resp;
+
+       bearer_desc = g_variant_get_variant(desc_tmp);
+
        switch (resp) {
        case RESULT_SUCCESS:
        case RESULT_SUCCESS_BUT_REQUESTED_ICON_NOT_DISPLAYED:
@@ -4079,6 +4080,7 @@ static gboolean sat_manager_handle_open_channel_result(struct custom_data *ctx,
                result = FALSE;
        }
 
+       g_variant_unref(bearer_desc);
        g_free(tr);
        return result;
 }