Fix paired device array exceed issue
[platform/core/connectivity/bluetooth-frwk.git] / bt-oal / bluez_hal / src / bt-hal-adapter-dbus-handler.c
index b24f7d9..190d84f 100644 (file)
@@ -877,6 +877,7 @@ static gboolean __bt_adapter_all_properties_cb(gpointer user_data)
                                        _bt_hal_update_le_feature_support(name, val, &le_features);
                                        le_features_present = TRUE;
                                }
+                               g_free(val);
                                g_variant_iter_free(iter);
 
                                if (le_features_present) {
@@ -1695,7 +1696,7 @@ static gboolean __bt_adapter_bonded_devices_cb(gpointer user_data)
        /* Buffer and propety count management */
        uint8_t buf[BT_HAL_MAX_PROPERTY_BUF_SIZE];
        uint8_t addresses[BT_HAL_MAX_PROPERTY_BUF_SIZE];
-       struct hal_ev_adapter_props_changed *ev = (void*) buf;;
+       struct hal_ev_adapter_props_changed *ev = (void *)buf;
        size_t size = 0;
        size_t count = 0;
 
@@ -1743,6 +1744,11 @@ static gboolean __bt_adapter_bonded_devices_cb(gpointer user_data)
                                break;
                        }
                }
+
+               if (count >= (int)(sizeof(addresses) / BT_HAL_ADDRESS_LENGTH_MAX)) {
+                       DBG("Reached the max length of addresses. do not stored anymore");
+                       break;
+               }
        }
 
        g_variant_iter_free(iter);