Fix static analysis issues 28/283028/1
authorChanggyu Choi <changyu.choi@samsung.com>
Mon, 17 Oct 2022 03:10:10 +0000 (12:10 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Mon, 17 Oct 2022 03:10:10 +0000 (12:10 +0900)
Change-Id: Ib109973cdd9d97062c9dd3dce7703a513f78fe87
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
aul/socket/client_socket.cc
aul/socket/server_socket.cc
src/aul_rpc_port.cc
src/aul_rsc_mgr.c
src/aul_sock.cc
src/aul_worker.c
src/launch_with_result.cc

index 7ec13cdbdec368dc6cdedc09715a1b2ec60843e2..8d4f21b50aac3704692b725f7ef2af879d9c06b6 100644 (file)
@@ -67,7 +67,7 @@ void ClientSocket::Connect(const std::string& endpoint) {
   snprintf(sockaddr.sun_path, sizeof(sockaddr.sun_path), "%s",
       endpoint.c_str());
   struct sockaddr* sockaddr_ptr = reinterpret_cast<struct sockaddr*>(&sockaddr);
-  socklen_t len = sizeof(sockaddr);
+  socklen_t len = static_cast<socklen_t>(sizeof(sockaddr));
 
   int ret;
   int retry = 2;
@@ -187,7 +187,7 @@ int ClientSocket::GetSendBufferSize() {
 
 int ClientSocket::GetReceiveTimeout() {
   struct timeval timeout = { 0, };
-  socklen_t len = sizeof(struct timeval);
+  socklen_t len = static_cast<socklen_t>(sizeof(struct timeval));
   int ret = getsockopt(fd_, SOL_SOCKET, SO_RCVTIMEO,
       reinterpret_cast<void*>(&timeout), &len);
   if (ret < 0) {
@@ -236,7 +236,7 @@ void ClientSocket::SetReceiveTimeout(int timeout) {
     .tv_sec = static_cast<time_t>(timeout / 1000),
     .tv_usec = static_cast<suseconds_t>((timeout % 1000) * 1000)
   };
-  socklen_t len = sizeof(struct timeval);
+  socklen_t len = static_cast<socklen_t>(sizeof(struct timeval));
   int ret = setsockopt(fd_, SOL_SOCKET, SO_RCVTIMEO, &tv, len);
   if (ret < 0) {
     ret = -errno;
index 12da427b1daba55faf608ece463693540ff554b5..b5bbc9da48310ab1bfc6d22c88eb48fef51e2f34 100644 (file)
@@ -46,7 +46,7 @@ ServerSocket::~ServerSocket() {
 
 ClientSocket* ServerSocket::Accept() {
   struct sockaddr_un addr = { 0, };
-  socklen_t len = sizeof(struct sockaddr_un);
+  socklen_t len = static_cast<socklen_t>(sizeof(struct sockaddr_un));
   auto* addr_ptr = reinterpret_cast<struct sockaddr*>(&addr);
   int client_fd = accept(GetFd(), addr_ptr, &len);
   if (client_fd == -1) {
@@ -63,7 +63,7 @@ void ServerSocket::Bind(const std::string& bindpoint) {
   snprintf(sockaddr.sun_path, sizeof(sockaddr.sun_path), "%s",
       bindpoint.c_str());
   struct sockaddr* sockaddr_ptr = reinterpret_cast<struct sockaddr*>(&sockaddr);
-  socklen_t len = sizeof(sockaddr);
+  socklen_t len = static_cast<socklen_t>(sizeof(sockaddr));
 
   unlink(bindpoint.c_str());
   int ret = bind(GetFd(), sockaddr_ptr, len);
index 7831de99bc37a914d73ca04a2bbfd4c593f5be1f..d1e7fa9a59f8c06467045d5a6ef685b9f4d45e9d 100644 (file)
@@ -87,7 +87,8 @@ class WatchInfo {
       return -1;
 
     std::string uid_str = b.GetString(AUL_K_CALLER_UID);
-    uid_t uid = std::stoul(uid_str, nullptr, 10);
+    uid_t uid =
+        static_cast<uid_t>(std::stoul(uid_str, nullptr, 10) & UINT32_MAX);
     if (info->uid_ != uid)
       return -1;
 
index 9aa623a2843de208a2f49099d641e6147da0d56e..460d4724ac8737a06aaa0fd653c05533ccc7ebeb 100644 (file)
@@ -387,7 +387,7 @@ static const char *__get_cache(aul_resource_e type,
                                AUL_RESOURCE_ERROR_INVALID_PARAMETER);
                return NULL;
        } else {
-               total_len = strlen(rsc_type) + strlen(id) + 2;
+               total_len = (unsigned int)(strlen(rsc_type) + strlen(id) + 2);
                key = (char *)calloc(1, total_len);
                if (key == NULL) {
                        LOGE("OOM!, failed to create a resource_cache(0x%08x)",
@@ -514,7 +514,7 @@ static void __put_cache(aul_resource_e type, const char *id,
                return;
        }
 
-       total_len = strlen(rsc_type) + strlen(id) + 2;
+       total_len = (unsigned int)(strlen(rsc_type) + strlen(id) + 2);
        key = (char *)calloc(1, total_len);
        if (key == NULL) {
                LOGE("failed to create a resource_cache(0x%08x)",
@@ -1139,8 +1139,9 @@ API int aul_resource_manager_get(aul_resource_e type, const char *id, char **pat
                retval = AUL_RESOURCE_ERROR_IO_ERROR;
                goto Exception;
        } else {
-               unsigned int total_len = strlen(res_path)
-                               + strlen(resource_node->folder) + strlen(id) + 3;
+               unsigned int total_len = (unsigned int)(strlen(res_path)
+                               + strlen(resource_node->folder)
+                               + strlen(id) + 3);
                put_fname = (char *) calloc(1, total_len);
                if (!put_fname) {
                        if (list != NULL)
index b6cee885e7c9d74a893ace296219ddc7c05f709d..7f38acc221be64670f21b63157845587ac7f9b31 100644 (file)
@@ -341,7 +341,7 @@ int ReceiveMessage(int fd, struct iovec* vec, int vec_max_size, int* vec_size,
   char buf[CMSG_SPACE(sizeof(int) * MAX_NR_OF_DESCRIPTORS) + CMSG_SPACE(50)] = { 0, };
   struct msghdr msg = { 0, };
   msg.msg_iov = vec;
-  msg.msg_iovlen = vec_max_size;
+  msg.msg_iovlen = static_cast<size_t>(vec_max_size);
   msg.msg_control = buf;
   msg.msg_controllen = sizeof(buf);
 
@@ -545,7 +545,7 @@ extern "C" API app_pkt_t* aul_sock_recv_pkt(int fd, int* clifd,
   if (client.get() == nullptr)
     return nullptr;
 
-  socklen_t optlen = sizeof(struct ucred);
+  socklen_t optlen = static_cast<socklen_t>(sizeof(struct ucred));
   int ret = getsockopt(client->GetFd(), SOL_SOCKET, SO_PEERCRED,
       cred, &optlen);
   if (ret < 0) {
index 6a9137cda5227a5f95122a526324f982519d9e10..511effa26ae4352afa9d55b4ba782b408634ff92 100644 (file)
@@ -519,7 +519,8 @@ int aul_worker_add_anr_timer(aul_worker_h handle, int cmd)
                interval = DEFAULT_INTERVAL;
                anr_timer->start_time = current_time;
        } else {
-               elapsed_time = (current_time - anr_timer->start_time) / 1000;
+               elapsed_time = (unsigned int)((current_time -
+                               anr_timer->start_time) / 1000);
                interval = DEFAULT_INTERVAL + (DEFAULT_INTERVAL - elapsed_time);
                anr_timer->start_time = current_time;
        }
index 939fc90bc3e9225cd3bf476fcc1bdc08f97b1043..6eea280223021ca2544b7dd63b32710e4c1ef1fc 100644 (file)
@@ -317,7 +317,7 @@ std::string __gen_seq_num() {
   char buf[MAX_LOCAL_BUFSZ];
 
   int n = num.fetch_add(1);
-  unsigned int seed = time(nullptr) + n;
+  unsigned int seed = static_cast<unsigned int>(time(nullptr) + n);
   snprintf(buf, sizeof(buf), "%d@%d", rand_r(&seed), n);
 
   return buf;