AUTOLOCK(lock);
if (info->cb && info->sensor && listeners.find(info->listener_id) != listeners.end()) {
- sensor_data_t * data = (sensor_data_t *)info->data;
- ((sensor_accuracy_changed_cb_t)info->cb)(info->sensor, data->timestamp, data->accuracy, info->user_data);
+ sensor_data_t * sensor_data = (sensor_data_t *)info->data;
+ ((sensor_accuracy_changed_cb_t)info->cb)(info->sensor, sensor_data->timestamp, sensor_data->accuracy, info->user_data);
}
delete [] info->data;
ipc::channel_handler *m_attr_int_changed_handler;
ipc::channel_handler *m_attr_str_changed_handler;
- ipc::event_loop *m_loop;
+ ipc::event_loop *m_loop { nullptr };
std::atomic<bool> m_connected;
std::atomic<bool> m_started;
std::map<int, int> m_attributes_int;
info->serialize(*raw);
*bytes = (char *) malloc(raw->size());
- retvm_if(!*bytes, -ENOMEM, "Failed to allocate memory");
+
+ if (!(*bytes)) {
+ delete(raw);
+ _E("Failed to allocate memory");
+ return -ENOMEM;
+ }
std::copy(raw->begin(), raw->end(), *bytes);
virtual bool teardown(void) { return true; }
const std::string& name() const { return m_name; }
- const sensor_type_t type() const { return m_type; }
+ sensor_type_t type() const { return m_type; }
virtual bool inject(int argc, char *argv[]) = 0;
ret = sensord_get_data_list(handle, data_id, &data_list, &count);
ASSERT_TRUE(ret);
- ASSERT_EQ(count, 1);
for (int i = 0 ; i < count; i++) {
_I("[%llu]", data_list[i].timestamp);
size = sizeof(cmd_provider_attr_str_t) + len;
- buf = (cmd_provider_attr_str_t *) malloc(sizeof(char) * size);
+ buf = (cmd_provider_attr_str_t *) new(std::nothrow) char[size];
+
retvm_if(!buf, -ENOMEM, "Failed to allocate memory");
msg.set_type(CMD_PROVIDER_ATTR_STR);
_I("Set attribute[%d] to sensor[%s]", attr, m_info.get_uri().c_str());
update_attribute(attr, value, len);
+
+ delete[] buf;
+
return OP_SUCCESS;
}
retvm_if(!buf, -ENOMEM, "Failed to allocate memory");
auto msg = ipc::message::create();
- retvm_if(!msg, OP_ERROR, "Failed to allocate memory");
+ if (!msg) {
+ delete[] buf;
+ _E("Failed to allocate memory");
+ return OP_ERROR;
+ }
buf->listener_id = id;
buf->attribute = attribute;
sensor_handler *sensor = m_manager->get_sensor(m_uri);
retv_if(!sensor, -EINVAL);
- _D("Listener[%d] try to get interval[%d]", get_id());
+ _D("Listener[%d] try to get interval", get_id());
return sensor->get_interval(this, interval);
}
sensor_handler *sensor = m_manager->get_sensor(m_uri);
retv_if(!sensor, -EINVAL);
- _D("Listener[%d] try to get max batch latency[%d]", get_id());
+ _D("Listener[%d] try to get max batch latency", get_id());
return sensor->get_batch_latency(this, max_batch_latency);
}
info->serialize(*raw);
*bytes = (char *) malloc(raw->size());
- retvm_if(!*bytes, -ENOMEM, "Failed to allocate memory");
+ if (!(*bytes)) {
+ delete raw;
+ _E("Failed to allocate memory");
+ return -ENOMEM;
+ }
std::copy(raw->begin(), raw->end(), *bytes);
waiting_time = lock_acquired_time - lock_waiting_start_time;
pthread_mutex_lock(&m_history_mutex);
- _I("%s acquires lock after waiting %lluus, %s(%#x) was previously owned in %s",
+ _I("%s acquires lock after waiting %lluus, %s(%#p) was previously owned in %s",
m_curent_info, waiting_time, expr, this, m_owner_info);
snprintf(m_owner_info, OWNER_INFO_LEN, "%s", m_curent_info);
pthread_mutex_unlock(&m_history_mutex);