Free memory if pthread create fails 45/236945/1
authorDewal Agarwal <d1.agarwal@samsung.com>
Tue, 23 Jun 2020 11:04:46 +0000 (16:34 +0530)
committerDewal Agarwal <d1.agarwal@samsung.com>
Tue, 23 Jun 2020 11:04:46 +0000 (16:34 +0530)
Change-Id: Ic5dbe28b0ad4d1ee218831fa70a2d9bdc14bb4bf
Signed-off-by: Dewal Agarwal <d1.agarwal@samsung.com>
src/battery_dump/bm_listeners.c

index de3d5352e76674447b42030d7075a931f1d2b930..2e98c2543b79b3a61d312d7fe9fe227ef8e65a64 100644 (file)
@@ -503,15 +503,6 @@ static void fill_device_display_change(int value)
                _INFO("Display dim");
                data_obj->event_code = ET_NONE;
                data_obj->event_tag = NULL;
-/*             data_obj->event_tag = (history_tag_s *)calloc(1, sizeof(history_tag_s));
-               if (data_obj->event_tag) {
-                       _INFO("event Tag creation succeeded \n");
-                       data_obj->event_tag->sp_idx = display_hsp;
-               } else {
-                       _ERR("  data_obj->event_tag object creation fails ");
-                       return;
-               }
-*/
                data_obj->state_1 |= ST1_SCREEN_DOZE_FLAG;
                break;
        case DISPLAY_STATE_SCREEN_OFF:
@@ -532,6 +523,8 @@ static void fill_device_display_change(int value)
                data_obj->state_1 &= ~(ST1_SCREEN_DOZE_FLAG);
                display_on = false;
                break;
+       default:
+               break;
        }
 
        EXIT;
@@ -577,35 +570,11 @@ static void fill_charging_status_change(int charging)
        if (data_obj) {
                if (charging) {
                        data_obj->event_code = ET_NONE;
-//                     data_obj->event_code |= ET_FLAG_START;
                        data_obj->event_tag = NULL;
-/*
-                       data_obj->event_tag = (history_tag_s *)calloc(1, sizeof(history_tag_s));
-                       if (data_obj->event_tag) {
-                               listener_hsp++;
-                               charging_hsp = listener_hsp;
-                               _INFO("event Tag creation succeeded \n");
-                               data_obj->event_tag->sp_idx = charging_hsp;
-                       } else {
-                               _ERR(" data_obj->event_tag object creation fails ");
-                               return;
-                       }
-*/
                        data_obj->state_2 |= ST2_CHARGING_FLAG;
                } else {
                        data_obj->event_code = ET_NONE;
-//                     data_obj->event_code |= ET_FLAG_FINISH;
                        data_obj->event_tag = NULL;
-/*
-                       data_obj->event_tag = (history_tag_s *)calloc(1, sizeof(history_tag_s));
-                       if (data_obj->event_tag) {
-                               _INFO("event Tag creation succeeded \n");
-                               data_obj->event_tag->sp_idx = charging_hsp;
-                       } else {
-                               _ERR(" data_obj->event_tag object creation fails ");
-                               return;
-                       }
-*/
                        data_obj->state_2 &= ~(ST2_CHARGING_FLAG);
                }
        }
@@ -742,8 +711,6 @@ static int fill_power_lock_unlock_change(int lock)
        if (data_obj) {
                if (lock) {
                        data_obj->event_code = ET_NONE;
-//                     data_obj->event_code |= ET_WAKE_LOCK;
-//                     data_obj->event_code |= ET_FLAG_START;
                        data_obj->wakelock_tag = NULL;
                        data_obj->event_tag = NULL;
                        data_obj->wakelock_tag = (history_tag_s *)calloc(1, sizeof(history_tag_s));
@@ -764,21 +731,9 @@ static int fill_power_lock_unlock_change(int lock)
                        data_obj->state_1 |= ST1_WAKE_LOCK_FLAG;
                } else {
                        data_obj->event_code = ET_NONE;
-//                     data_obj->event_code |= ET_WAKE_LOCK;
-//                     data_obj->event_code |= ET_FLAG_FINISH;
                        data_obj->wakelock_tag = NULL;
                        data_obj->event_tag = NULL;
                        //WAKE LOCK TAG INFORMATION NOT REQ. AT UNSET.
-/*
-                       data_obj->wakelock_tag = (history_tag_s *)calloc(1, sizeof(history_tag_s));
-                       if (data_obj->wakelock_tag) {
-                               _INFO("event Tag creation succeeded \n");
-                               data_obj->wakelock_tag->sp_idx = lock_hsp;
-                       } else {
-                               _ERR("data_obj->event_tag object creation fails ");
-                               return 1;
-                       }
-*/
                        data_obj->state_1 &= ~(ST1_WAKE_LOCK_FLAG);
                }
        }
@@ -1098,6 +1053,7 @@ void __bm_bt_adapter_state_changed_cb(int result, bt_adapter_state_e adapter_sta
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, bt_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(bt_event);
                return;
        }
 
@@ -1127,6 +1083,7 @@ void __bm_bt_device_connection_state_changed_cb(bool connected, bt_device_connec
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, bt_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(bt_event);
                return;
        }
 
@@ -1163,6 +1120,7 @@ static void __bm_bt_device_discovery_state_changed_cb(int result, bt_adapter_dev
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, bt_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(bt_event);
                return;
        }
 
@@ -1193,6 +1151,7 @@ static void __bm_wifi_device_state_callback(wifi_manager_device_state_e state, v
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, wifi_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(wifi_event);
                return;
        }
 
@@ -1218,6 +1177,7 @@ static void __bm_wifi_scan_changed_callback(wifi_manager_scan_state_e state, voi
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, wifi_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(wifi_event);
                return;
        }
 
@@ -1247,6 +1207,7 @@ static void __bm_wifi_connection_state_changed_callback(wifi_manager_connection_
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, wifi_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(wifi_event);
                return;
        }
 
@@ -1281,6 +1242,7 @@ static void __bm_device_display_change(device_callback_e type, void *value, void
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, device_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(device_event);
                return;
        }
 
@@ -1342,6 +1304,7 @@ static void __bm_display_brightness_change(keynode_t *key, void* data)
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, display_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(display_event);
                return;
        }
 
@@ -1370,6 +1333,7 @@ static void __bm_battery_capacity_change(keynode_t *key, void* data)
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, charging_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(charging_event);
                return;
        }
 
@@ -1398,6 +1362,7 @@ static void __bm_charging_status_change(keynode_t *key, void* data)
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, charging_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(charging_event);
                return;
        }
 
@@ -1431,6 +1396,7 @@ static void __bm_location_change(keynode_t *key, void* data)
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, location_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(location_event);
                return;
        }
 
@@ -1510,6 +1476,7 @@ static void _bm_notify_signal_strength(TapiHandle *handle, const char *noti_id,
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, signal_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(signal_event);
                return;
        }
 
@@ -1564,6 +1531,7 @@ static void _bm_notify_modem_power(TapiHandle *handle, const char *noti_id, void
                pthread_t producer;
                if (pthread_create(&producer, &attr, event_producer, modem_power_event)) {
                        _ERR("Failed to pthread_create.");
+                       BM_FREE(modem_power_event);
                        return;
                }
        }
@@ -1591,22 +1559,24 @@ static void create_lock_event(char *lock_type)
        else
                prev_lock = val;
 
-       event_pool *location_event = (event_pool *)calloc(1, sizeof(event_pool));
-       if (!location_event) {
+       event_pool *lock_event = (event_pool *)calloc(1, sizeof(event_pool));
+       if (!lock_event) {
                _ERR("Failed to allocated memory ");
                return;
        }
 
-       location_event->type = LISTEN_POWERLOCKUNLOCK_STATE;
-       location_event->val = val;
-       location_event->app = NULL;
+       lock_event->type = LISTEN_POWERLOCKUNLOCK_STATE;
+       lock_event->val = val;
+       lock_event->app = NULL;
 
        pthread_t producer;
-       if (pthread_create(&producer, &attr, event_producer, location_event)) {
+       if (pthread_create(&producer, &attr, event_producer, lock_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(lock_event);
                return;
        }
 
+       EXIT;
        return;
 }
 
@@ -1679,6 +1649,7 @@ static void __sleep_signal_callback(GDBusConnection *conn,
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, sleep_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(sleep_event);
                return;
        }
 
@@ -1709,6 +1680,7 @@ static void __wakeup_signal_callback(GDBusConnection *conn,
        pthread_t producer;
        if (pthread_create(&producer, &attr, event_producer, wakeup_event)) {
                _ERR("Failed to pthread_create.");
+               BM_FREE(wakeup_event);
                return;
        }