Fix resource leak problem : 32057, 28497, 41860, 22384, 26742 14/154514/2
authorsaerome kim <saerome.kim@samsung.com>
Tue, 10 Oct 2017 10:35:49 +0000 (19:35 +0900)
committersaerome kim <saerome.kim@samsung.com>
Tue, 10 Oct 2017 10:37:17 +0000 (19:37 +0900)
Change-Id: Ic8ef28d48f31a8b5b7594c4129068b31466056d0
Signed-off-by: saerome kim <saerome.kim@samsung.com>
zigbee-daemon/zigbee-interface/src/zigbee_service_dbus_interface_service.c
zigbee-daemon/zigbee-interface/src/zigbee_service_dbus_interface_zcl_global_control.c
zigbee-daemon/zigbee-interface/src/zigbee_service_dbus_interface_zdo_dev_control.c

index 75cc3d3..d04136d 100644 (file)
@@ -1303,6 +1303,8 @@ void zigbee_service_dbus_interface_service_notification(ZigBeeServiceInterface *
                        Z_LOGE("Failed to create variant!");
                else
                        zigbee_service_emit_child_rejoined(service_object, v_eui64);
+               if (v_eui64)
+                       g_variant_unref(v_eui64);
        }
        break;
        case ZBLIB_SERVICE_NOTI_CHILD_LEFT: {
index 1478f0e..5e8974a 100644 (file)
@@ -1400,16 +1400,16 @@ void zigbee_service_dbus_interface_zcl_global_control_notification(ZigBeeService
                        TRUE, NULL, NULL);
                if (NULL == v_values || NULL == v_attrs) {
                        Z_LOGE("Failed to create variant!");
-                       if (v_values)
-                               g_variant_unref(v_values);
-                       if (v_attrs)
-                               g_variant_unref(v_attrs);
                } else {
                        Z_LOGD("Write attributes resp");
                        zigbee_zcl_global_control_emit_write_attributes_rsp(global_control_object,
                                attr_t->node_id, attr_t->src_ep, v_values, v_attrs,
                                attr_t->cluster_id, attr_t->record_length);
                }
+               if (v_values)
+                       g_variant_unref(v_values);
+               if (v_attrs)
+                       g_variant_unref(v_attrs);
        break;
        }
        case ZBLIB_ZCL_GLOBAL_NOTI_CONFIG_REPORT_RSP: {
index 564dd10..63782ba 100644 (file)
@@ -1576,6 +1576,8 @@ void zigbee_service_dbus_interface_zdo_dev_control_notification(ZigBeeServiceInt
                                nwk_addr_t->status, v_eui64, nwk_addr_t->node_id,
                                nwk_addr_t->associated_count, nwk_addr_t->start_index);
                }
+               if (v_eui64)
+                       g_variant_unref(v_eui64);
        break;
        }
        case ZBLIB_ZDO_DEV_CONTROL_NOTI_NWK_ADDR_EXT_RSP: {
@@ -1879,6 +1881,8 @@ void zigbee_service_dbus_interface_zdo_dev_control_notification(ZigBeeServiceInt
                        nwk_disc_t->status, nwk_disc_t->network_count,
                        nwk_disc_t->start_index, nwk_disc_t->table_list_count,
                        v_entries);
+               if (entry_builder)
+                       g_variant_builder_unref(entry_builder);
                if (v_entries)
                        g_variant_unref(v_entries);
        break;
@@ -1924,6 +1928,8 @@ void zigbee_service_dbus_interface_zdo_dev_control_notification(ZigBeeServiceInt
                        zigbee_zdo_dev_control_emit_complex_desc_rsp(dev_control_object,
                                desc_t->status, desc_t->node_id, desc_t->list_count, v_desc_list);
                }
+               if (v_desc_list)
+                       g_variant_unref(v_desc_list);
        break;
        }
        case ZBLIB_ZDO_DEV_CONTROL_NOTI_USER_DESC_RSP: {