Fix fd check condition 42/270242/1
authorChanggyu Choi <changyu.choi@samsung.com>
Thu, 27 Jan 2022 04:25:52 +0000 (13:25 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Thu, 27 Jan 2022 04:28:44 +0000 (13:28 +0900)
Some conditions which are fd value checking are wrong.
This patch fixes these conditions.

Change-Id: Ib0fb7c73fe8dda95cb8a90e170c3604422e4a68c
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
src/aul_proc.cc
src/aul_rpc_port.cc
src/aul_sock.c
src/launch_with_result.cc

index c0a4c14..295172f 100644 (file)
@@ -111,7 +111,7 @@ int SendAndReceive(int cmd, pid_t pid, uid_t uid, bundle** response) {
   int fd = AppRequest(cmd, uid)
       .SetPid(pid)
       .SendSimply(AUL_SOCK_ASYNC);
-  if (fd < 0 || sysconf(_SC_OPEN_MAX)) {
+  if (fd < 0 || fd >= sysconf(_SC_OPEN_MAX)) {
     _E("Failed to send request. error(%d)", fd);
     return fd;
   }
index 6dc0608..7831de9 100644 (file)
@@ -167,7 +167,7 @@ extern "C" API int aul_rpc_port_create_socket_pair(const char* app_id,
       .With(b)
       .SetAppId(app_id)
       .SendSimply(AUL_SOCK_ASYNC);
-  if (fd <= 0 || fd > sysconf(_SC_OPEN_MAX)) {
+  if (fd <= 0 || fd >= sysconf(_SC_OPEN_MAX)) {
     _E("Failed to send socket pair creation request. error(%d)", fd);
     return fd;
   }
@@ -252,7 +252,7 @@ extern "C" API int aul_rpc_port_usr_create(const char* port_name, uid_t uid,
   int req_fd = AppRequest(RPC_PORT_CREATE, uid)
       .With(b)
       .SendSimply(AUL_SOCK_ASYNC);
-  if (req_fd <= 0 || req_fd > sysconf(_SC_OPEN_MAX)) {
+  if (req_fd <= 0 || req_fd >= sysconf(_SC_OPEN_MAX)) {
     _E("Failed to send socket creation request. error(%d)", req_fd);
     return req_fd;
   }
index 6cd8dc7..fdab342 100644 (file)
@@ -820,7 +820,7 @@ int aul_sock_recv_pkt_with_cb(int fd,
        int ret;
        int i;
 
-       if (fd < 0 || fd > sysconf(_SC_OPEN_MAX)) {
+       if (fd < 0 || fd >= sysconf(_SC_OPEN_MAX)) {
                _E("Invalid parameter");
                return -1;
        }
@@ -959,7 +959,7 @@ API int aul_sock_send_result_v2(int fd, int res, bool do_close)
 {
        int ret;
 
-       if (fd < 0 || fd > sysconf(_SC_OPEN_MAX)) {
+       if (fd < 0 || fd >= sysconf(_SC_OPEN_MAX)) {
                _E("Invalid parameter");
                return -EINVAL;
        }
@@ -978,7 +978,7 @@ API int aul_sock_recv_reply_pkt_v2(int fd, app_pkt_t **pkt, bool do_close)
 {
        int ret;
 
-       if (fd < 0 || fd > sysconf(_SC_OPEN_MAX))
+       if (fd < 0 || fd >= sysconf(_SC_OPEN_MAX))
                return -EINVAL;
 
        if (!pkt) {
index 3fc7a4d..939fc90 100644 (file)
@@ -453,7 +453,7 @@ int __send_request_with_callback(int cmd, const char* appid, bundle* b,
       .With(b)
       .SetAppId(appid)
       .Send();
-  if (fd < 0 || fd > sysconf(_SC_OPEN_MAX)) {
+  if (fd < 0 || fd >= sysconf(_SC_OPEN_MAX)) {
     _E("Failed to send launch request. appid(%s), result(%d)",
         appid, fd);
     if (reply_cb)
@@ -492,7 +492,7 @@ int __send_launch_request(const std::string& appid, bundle* kb, uid_t uid) {
       .With(b)
       .SetAppId(appid)
       .Send();
-  if (fd < 0 || fd > sysconf(_SC_OPEN_MAX)) {
+  if (fd < 0 || fd >= sysconf(_SC_OPEN_MAX)) {
     _E("Failed to send launch request. appid(%s), result(%d)",
         appid.c_str(), fd);
     return AUL_R_ECOMM;