Fix Coverity issues 41/276141/1 accepted/tizen/6.5/unified/20220613.161509 submit/tizen_6.5/20220610.054329
authorTaeminYeom <taemin.yeom@samsung.com>
Wed, 8 Jun 2022 08:20:24 +0000 (17:20 +0900)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Fri, 10 Jun 2022 05:26:48 +0000 (05:26 +0000)
Change-Id: I8cfd63487d52c1a9d61b8e6275c7c1fdbb63e7e5
Signed-off-by: TaeminYeom <taemin.yeom@samsung.com>
(cherry picked from commit 27e1fd3c09d74167ac3fc79ebb7b8118e1073956)

src/client/sensor_listener.cpp
src/client/sensor_provider.cpp
src/fusion-sensor/auto_rotation/auto_rotation_alg_emul.cpp
src/fusion-sensor/rotation_vector/fusion_base.h
src/server/sensor_listener_proxy.cpp
src/server/sensor_manager.cpp
src/shared/accept_event_handler.cpp
src/shared/channel.cpp
src/shared/channel_event_handler.cpp
src/shared/ipc_client.cpp
src/shared/ipc_server.cpp

index 44b72d92783038115f1ff9df702f1201ef024206..7c3ab4b2e58eaf23043ed724645dd464749668f7 100644 (file)
@@ -141,6 +141,7 @@ bool sensor_listener::init(void)
 
        m_handler = new(std::nothrow) listener_handler(this);
        if (!m_handler) {
+               _E("Failed to allocate memory");
                delete m_client;
                return false;
        }
@@ -163,6 +164,11 @@ void sensor_listener::deinit(void)
        stop();
        disconnect();
 
+       unset_event_handler();
+       unset_accuracy_handler();
+       unset_attribute_int_changed_handler();
+       unset_attribute_str_changed_handler();
+
        m_handler->disconnect();
        m_loop->add_channel_handler_release_list(m_handler);
        m_handler = NULL;
@@ -170,11 +176,6 @@ void sensor_listener::deinit(void)
        delete m_client;
        m_client = NULL;
 
-       unset_event_handler();
-       unset_accuracy_handler();
-       unset_attribute_int_changed_handler();
-       unset_attribute_str_changed_handler();
-
        m_attributes_int.clear();
        m_attributes_str.clear();
        _D("Deinitialized..");
@@ -367,7 +368,7 @@ int sensor_listener::start(void)
 {
        ipc::message msg;
        ipc::message reply;
-       cmd_listener_start_t buf;
+       cmd_listener_start_t buf = {0, };
 
        retvm_if(!m_cmd_channel, -EINVAL, "Failed to connect to server");
 
@@ -394,7 +395,7 @@ int sensor_listener::stop(void)
 {
        ipc::message msg;
        ipc::message reply;
-       cmd_listener_stop_t buf;
+       cmd_listener_stop_t buf = {0, };
 
        retvm_if(!m_cmd_channel, -EINVAL, "Failed to connect to server");
        retvm_if(!m_started.load(), -EAGAIN, "Already stopped");
@@ -504,7 +505,7 @@ int sensor_listener::set_attribute(int attribute, int value)
 {
        ipc::message msg;
        ipc::message reply;
-       cmd_listener_attr_int_t buf;
+       cmd_listener_attr_int_t buf = {0, };
 
        retvm_if(!m_cmd_channel, -EIO, "Failed to connect to server");
 
@@ -531,7 +532,7 @@ int sensor_listener::get_attribute(int attribute, int* value)
 {
        ipc::message msg;
        ipc::message reply;
-       cmd_listener_attr_int_t buf;
+       cmd_listener_attr_int_t buf = {0, };
 
        retvm_if(!m_cmd_channel, -EIO, "Failed to connect to server");
 
@@ -605,7 +606,7 @@ int sensor_listener::get_attribute(int attribute, char **value, int* len)
 {
        ipc::message msg;
        ipc::message reply;
-       cmd_listener_attr_str_t buf;
+       cmd_listener_attr_str_t buf = {0, };
 
        buf.listener_id = m_id;
        buf.attribute = attribute;
@@ -643,7 +644,7 @@ int sensor_listener::get_sensor_data(sensor_data_t *data)
 {
        ipc::message msg;
        ipc::message reply;
-       cmd_listener_get_data_t buf;
+       cmd_listener_get_data_t buf = {0, };
 
        retvm_if(!m_cmd_channel, -EIO, "Failed to connect to server");
 
@@ -678,7 +679,7 @@ int sensor_listener::get_sensor_data_list(sensor_data_t **data, int *count)
 {
        ipc::message msg;
        ipc::message reply;
-       cmd_listener_get_data_list_t buf;
+       cmd_listener_get_data_list_t buf = {0, };
 
        retvm_if(!m_cmd_channel, -EIO, "Failed to connect to server");
 
index 78a059330e564870cb7bd987e6fa75b614d161ab..4fcc125f08b9d427689305848c389bcef555bf8e 100644 (file)
@@ -122,6 +122,8 @@ int sensor_provider::send_sensor_info(sensor_info *info)
        int size;
 
        size = serialize(info, &bytes);
+       if (size < 0)
+               return OP_ERROR;
 
        ipc::message msg((const char *)bytes, size);
        msg.set_type(CMD_PROVIDER_CONNECT);
index 0448e6b034db7786792e2215c827b0a662946f45..0136b757f81bbd50366cec61d768fbb57d758170 100644 (file)
@@ -43,7 +43,6 @@ auto_rotation_alg_emul::auto_rotation_alg_emul()
 
 auto_rotation_alg_emul::~auto_rotation_alg_emul()
 {
-       close();
 }
 
 int auto_rotation_alg_emul::convert_rotation(int prev_rotation,
index 8dbe8b4d81db5f0cdd1f3f01215a2ede250d4da1..048669ba324d30c06a627b42d67d3137626f1ec9 100644 (file)
@@ -44,10 +44,10 @@ protected:
        float m_z;
        float m_w;
 
-       float m_timestamp;
-       float m_timestamp_accel;
-       float m_timestamp_gyro;
-       float m_timestamp_mag;
+       unsigned long long m_timestamp;
+       unsigned long long m_timestamp_accel;
+       unsigned long long m_timestamp_gyro;
+       unsigned long long m_timestamp_mag;
 
        void clear();
        void store_orientation(void);
index 76e5dcdd9c9df21c122fb02e346c122590c95884..4639c0e8df76f79e4dcffd150ff19030c1397a82 100644 (file)
@@ -95,7 +95,7 @@ void sensor_listener_proxy::update_accuracy(std::shared_ptr<ipc::message> msg)
 
        m_last_accuracy = data->accuracy;
 
-       sensor_data_t acc_data;
+       sensor_data_t acc_data = {0, };
        acc_data.accuracy = m_last_accuracy;
 
        auto acc_msg = ipc::message::create();
index 6555ad967ba0262145d6dc84cba00e5edcad287b..fc212d51eb5517f8d5d1d7704ab704030442a8aa 100644 (file)
@@ -145,6 +145,10 @@ void sensor_manager::send_added_msg(sensor_info *info)
        int size;
 
        size = serialize(info, &bytes);
+       if (size < 0) {
+               _E("Failed to message serialize");
+               return;
+       }
 
        auto msg = ipc::message::create((const char *)bytes, size);
        msg->set_type(CMD_MANAGER_SENSOR_ADDED);
index b942095d2faa9b2de0cbcaf84e6f4c4993275db7..419d91271f45c89db8982738c3a319dece8ad6ed 100644 (file)
@@ -39,7 +39,11 @@ bool accept_event_handler::handle(int fd, event_condition condition, void **data
        m_server->accept(*cli_sock);
 
        channel *_ch = new(std::nothrow) channel(cli_sock);
-       retvm_if(!_ch, false, "Failed to allocate memory");
+       if (!_ch) {
+               delete cli_sock;
+               _E("Failed to allocate memory");
+               return false;
+       }
 
        m_server->register_channel(cli_sock->get_fd(), _ch);
 
index ff4edc7128b9ee3990ba1b8043822db3944b3643..26b654c54ea233b280cb7dc2c97f7381d580484e 100644 (file)
@@ -132,9 +132,15 @@ channel::~channel()
 uint64_t channel::bind(void)
 {
        retv_if(!m_loop, 0);
+       channel_event_handler* handler = dynamic_cast<channel_event_handler *>(m_handler);
+
+       if (!handler) {
+               _E("Failed to bind channel[%p] : handler[%p]", this, m_handler);
+               m_event_id = 0;
+               return 0;
+       }
        m_event_id = m_loop->add_event(m_socket->get_fd(),
-                       (EVENT_IN | EVENT_HUP | EVENT_NVAL),
-                       dynamic_cast<channel_event_handler *>(m_handler));
+                       (EVENT_IN | EVENT_HUP | EVENT_NVAL), handler);
 
        _D("Bind channel[%p] : handler[%p] event_id[%llu]", this, m_handler, m_event_id);
        return m_event_id;
index 7a22461ae07d203b2314beea08220188cb05ccd9..460b6a019509fa62d6c400e76ea2ef8cbbd07b1b 100644 (file)
@@ -48,7 +48,8 @@ bool channel_event_handler::handle(int fd, event_condition condition, void **dat
 
        if (condition & (EVENT_HUP)) {
                //delete m_ch in g_io_handler to prevent double delete.
-               *data = m_ch;
+               if (data)
+                       *data = m_ch;
                m_ch = NULL;
                return false;
        }
index 8c1dfa9b0cdca901d31a11a6193b0ca684316179..26c20a3cace6a498876ca0760c4d73e5d7459e75 100644 (file)
@@ -74,7 +74,6 @@ channel *ipc_client::connect(channel_handler *handler, event_loop *loop, bool bi
        ev_handler = new(std::nothrow) channel_event_handler(ch, handler);
        if (!ev_handler) {
                delete ch;
-               delete sock;
                _E("Failed to allocate memory");
                return NULL;
        }
index 0019bf14407404c610aa9e47d3401c1d8d41b362..d25a562ba70c913cae445be146589a6519fa13f7 100644 (file)
@@ -81,8 +81,11 @@ void ipc_server::register_channel(int fd, channel *ch)
 
        uint64_t id = ch->bind(ev_handler, m_event_loop, true);
 
-       if (id == 0)
+       if (id == 0) {
+               _E("Failed to register channel");
                delete ev_handler;
+               return;
+       }
 
        _D("Register channel[%p] : event_id[%llu]", ch, id);
 }