gatt: Fix mismatching allocation and deallocation 66/141966/1
authorSyam Sidhardhan <s.syam@samsung.com>
Wed, 31 May 2017 07:31:48 +0000 (13:01 +0530)
committerNagaraj D R <nagaraj.dr@samsung.com>
Wed, 2 Aug 2017 06:28:40 +0000 (11:58 +0530)
Mismatch in malloc and free or g_malloc and g_free
Since allocation is happening from different pool,
incorrect usage create issues

Change-Id: I24c1ba8481fa6e016b029ed330ef3f03fd13e0a4

src/bluetooth-gatt.c
src/bluetooth-proximity.c

index 8c660f7780f1e91891a00e3619ee64eb0b62305c..bd66b41e65072cd8d7be9e68cb516fca4778a8a2 100644 (file)
@@ -1957,9 +1957,7 @@ int bt_gatt_characteristic_create(const char *uuid, int permissions,
        if (value_length > 0)
                BT_CHECK_INPUT_PARAMETER(value);
 
-       chr = malloc(sizeof(*chr));
-       if (chr == NULL)
-               return BT_ERROR_OUT_OF_MEMORY;
+       chr = g_malloc(sizeof(*chr));
 
        memset(chr, 0x00, sizeof(*chr));
 
@@ -2224,10 +2222,7 @@ int bt_gatt_descriptor_create(const char *uuid, int permissions,
        if (value_length > 0)
                BT_CHECK_INPUT_PARAMETER(value);
 
-       desc = malloc(sizeof(*desc));
-       if (desc == NULL)
-               return BT_ERROR_OUT_OF_MEMORY;
-
+       desc = g_malloc(sizeof(*desc));
        memset(desc, 0x00, sizeof(*desc));
 
        desc->type = BT_GATT_TYPE_DESCRIPTOR;
@@ -2774,7 +2769,7 @@ int bt_gatt_client_create(const char *remote_address, bt_gatt_client_h *client)
 
        client_s->remote_address = g_strdup(remote_address);
        if (client_s->remote_address == NULL) {
-               free(client_s);
+               g_free(client_s);
                ret = BT_ERROR_OUT_OF_MEMORY;
                BT_ERR("%s(0x%08x)", _bt_convert_error_to_string(ret), ret);
                return ret;
index 7d45f1e583a575a67041be38e3abd5684787ad84..df1375bb92f56af9128345421aea0cd8374c570e 100644 (file)
@@ -236,7 +236,7 @@ int bt_proximity_monitor_create(const char *remote_address, bt_proximity_monitor
 
        monitor_s->remote_address = g_strdup(remote_address);
        if (monitor_s->remote_address == NULL) {
-               free(monitor_s);
+               g_free(monitor_s);
                error_code = BT_ERROR_OUT_OF_MEMORY;
                BT_ERR("%s(0x%08x)", _bt_convert_error_to_string(error_code), error_code);
                return error_code;