fix code not to use insecure strncmp() 32/316232/1 tizen
authorDoyoun Kang <doyoun.kang@samsung.com>
Fri, 16 Aug 2024 05:13:09 +0000 (14:13 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 16 Aug 2024 05:42:12 +0000 (14:42 +0900)
We fixed the svace issues for insecure strncmp usage

Change-Id: I720c3390bcf5ea4228314f110be20047e5e4e5df

src/bin/debug/e_info_client.c
src/bin/debug/e_info_server.c
src/bin/e_comp_screen.c
src/bin/server/e_comp_wl_input.c
src/bin/server/e_policy_wl.c
src/bin/utils/e_utils.c

index a6d8f72..b827347 100644 (file)
@@ -4809,14 +4809,14 @@ _e_info_client_proc_module(int argc, char **argv)
        goto usage;
      }
 
-   if (strncmp(command, "list", strlen(command)) == 0)
+   if (strncmp(command, "list", strlen(command)+1) == 0)
      {
         if (argc != 3)
           goto usage;
 
         res = _e_info_client_eldbus_message("module_list_get", _e_info_client_cb_module_list_get);
      }
-   else if (strncmp(command, "load", strlen(command)) == 0)
+   else if (strncmp(command, "load", strlen(command)+1) == 0)
      {
         if (argc != 4)
            goto usage;
@@ -4826,7 +4826,7 @@ _e_info_client_proc_module(int argc, char **argv)
                                                 "s",
                                                 module_name);
      }
-   else if (strncmp(command, "unload", strlen(command)) == 0)
+   else if (strncmp(command, "unload", strlen(command)+1) == 0)
      {
         if (argc != 4)
            goto usage;
@@ -7498,7 +7498,7 @@ _util_sort_string_cb(const void *data1, const void *data2)
    s1 = info1->option;
    s2 = info2->option;
 
-   return strncmp(s1, s2, strlen(s2));
+   return strncmp(s1, s2, strlen(s1)+1);
 }
 
 static void
@@ -7673,7 +7673,7 @@ _e_info_client_process(int argc, char **argv)
      {
         proc_option_length = strlen(procinfo->option);
         if (argv_len != proc_option_length) continue;
-        if (!strncmp(argv[1]+1, procinfo->option, proc_option_length))
+        if (!strncmp(argv[1]+1, procinfo->option, argv_len+1))
           {
              if (procinfo->func)
                procinfo->func(argc, argv);
@@ -7686,7 +7686,7 @@ _e_info_client_process(int argc, char **argv)
      {
         proc_option_length = strlen(procinfo->option);
         if (argv_len != proc_option_length) continue;
-        if (!strncmp(argv[1]+1, procinfo->option, proc_option_length))
+        if (!strncmp(argv[1]+1, procinfo->option, argv_len+1))
           {
              if (procinfo->func)
                procinfo->func(argc, argv);
@@ -7699,7 +7699,7 @@ _e_info_client_process(int argc, char **argv)
      {
         proc_option_length = strlen(procinfo->option);
         if (argv_len != proc_option_length) continue;
-        if (!strncmp(argv[1]+1, procinfo->option, proc_option_length))
+        if (!strncmp(argv[1]+1, procinfo->option, argv_len+1))
           {
              if (procinfo->func)
                procinfo->func(argc, argv);
@@ -7712,7 +7712,7 @@ _e_info_client_process(int argc, char **argv)
      {
         proc_option_length = strlen(procinfo->option);
         if (argv_len != proc_option_length) continue;
-        if (!strncmp(argv[1]+1, procinfo->option, proc_option_length))
+        if (!strncmp(argv[1]+1, procinfo->option, argv_len+1))
           {
              if (procinfo->func)
                procinfo->func(argc, argv);
@@ -7764,7 +7764,7 @@ _e_info_client_print_usage(int argc, char **argv)
      {
         optlen = strlen(procinfo->option);
         if (arglen != optlen) continue;
-        if (!strncmp(argv[1]+1, procinfo->option, optlen))
+        if (!strncmp(argv[1]+1, procinfo->option, arglen+1))
           {
              printf("  %s\n\n", (procinfo->description)?procinfo->description:"");
              printf("  %s -%s %s\n", argv[0], procinfo->option, (procinfo->params)?procinfo->params:"");
@@ -7776,7 +7776,7 @@ _e_info_client_print_usage(int argc, char **argv)
      {
         optlen = strlen(procinfo->option);
         if (arglen != optlen) continue;
-        if (!strncmp(argv[1]+1, procinfo->option, optlen))
+        if (!strncmp(argv[1]+1, procinfo->option, arglen+1))
           {
              printf("  %s\n\n", (procinfo->description)?procinfo->description:"");
              printf("  %s -%s %s\n", argv[0], procinfo->option, (procinfo->params)?procinfo->params:"");
@@ -7788,7 +7788,7 @@ _e_info_client_print_usage(int argc, char **argv)
      {
         optlen = strlen(procinfo->option);
         if (arglen != optlen) continue;
-        if (!strncmp(argv[1]+1, procinfo->option, optlen))
+        if (!strncmp(argv[1]+1, procinfo->option, arglen+1))
           {
              printf("  %s\n\n", (procinfo->description)?procinfo->description:"");
              printf("  %s -%s %s\n", argv[0], procinfo->option, (procinfo->params)?procinfo->params:"");
@@ -7800,7 +7800,7 @@ _e_info_client_print_usage(int argc, char **argv)
      {
         optlen = strlen(procinfo->option);
         if (arglen != optlen) continue;
-        if (!strncmp(argv[1]+1, procinfo->option, optlen))
+        if (!strncmp(argv[1]+1, procinfo->option, arglen+1))
           {
              printf("  %s\n\n", (procinfo->description)?procinfo->description:"");
              printf("  %s -%s %s\n", argv[0], procinfo->option, (procinfo->params)?procinfo->params:"");
index d4014b7..9a855f0 100644 (file)
@@ -1,5 +1,6 @@
 #include "e_info_server_intern.h"
 #include "e_utils_intern.h"
+#include "e_utils.h"
 #include "e_comp_object.h"
 #include "e_info_protocol_intern.h"
 #include "e_info_server_input_intern.h"
@@ -1837,7 +1838,7 @@ _check_layer_idx(const char *layer_name, int layer_idx)
 
    e_comp_layer_name_get(layer_idx, tmp, sizeof(tmp));
 
-   return strncmp(tmp, layer_name, strlen(tmp));
+   return e_util_strcmp(tmp, layer_name);
 }
 
 static int
@@ -3572,7 +3573,7 @@ _e_info_server_module_hook_call(const char *module_name, const char *log_path)
 
    EINA_LIST_FOREACH(module_hook, l, data)
      {
-        if (!strncmp(data->module_name, module_name, strlen(module_name)))
+        if (!e_util_strcmp(data->module_name, module_name))
           {
              data->func(data->data, log_path);
              break;
@@ -3603,7 +3604,7 @@ e_info_server_hook_set(const char *module_name, E_Info_Hook_Cb func, void *data)
 
    EINA_LIST_FOREACH_SAFE(module_hook, l, l_next, hdata)
      {
-        if (!strncmp(hdata->module_name, module_name, strlen(module_name)))
+        if (!e_util_strcmp(hdata->module_name, module_name))
           {
              if (!func)
                {
index f4e036f..5531a3a 100644 (file)
@@ -207,8 +207,8 @@ _e_comp_screen_pointer_renew(void)
                   description = evas_device_description_get(dev);
 
                   if (!name || !description) continue;
-                  if ((!strncmp(name, e_devicemgr->last_device_ptr->name, strlen(e_devicemgr->last_device_ptr->name))) &&
-                      (!strncmp(description, e_devicemgr->last_device_ptr->identifier, strlen(e_devicemgr->last_device_ptr->identifier))) &&
+                  if ((!e_util_strcmp(name, e_devicemgr->last_device_ptr->name)) &&
+                      (!e_util_strcmp(description, e_devicemgr->last_device_ptr->identifier)) &&
                       (evas_device_class_get(dev) == (Evas_Device_Class)e_devicemgr->last_device_ptr->clas))
                     {
                        last_ptr = dev;
index d2c3f4b..a25793a 100644 (file)
@@ -329,8 +329,8 @@ _e_comp_wl_input_cb_pointer_get(struct wl_client *client, struct wl_resource *re
                   desc = evas_device_description_get(dev);
                   if (!name || !desc) continue;
 
-                  if ((!strncmp(name, e_devicemgr->last_device_ptr->name, strlen(e_devicemgr->last_device_ptr->name))) &&
-                      (!strncmp(desc, e_devicemgr->last_device_ptr->identifier, strlen(e_devicemgr->last_device_ptr->identifier))) &&
+                  if ((!e_util_strcmp(name, e_devicemgr->last_device_ptr->name)) &&
+                      (!e_util_strcmp(desc, e_devicemgr->last_device_ptr->identifier)) &&
                       (evas_device_class_get(dev) == (Evas_Device_Class)e_devicemgr->last_device_ptr->clas))
                     {
                        last_ptr = dev;
index 009fc52..528ec6f 100644 (file)
@@ -2658,16 +2658,16 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                   ec->e.state.rot.nopending_render = 1;
                }
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_ICONIFY_BUFFER_FLUSH], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_ICONIFY_BUFFER_FLUSH]))
           {
-             if (!strncmp(hint->val, "1", 1))
+             if (!e_util_strcmp(hint->val, "1"))
                ec->exp_iconify.buffer_flush = EINA_TRUE;
              else
                ec->exp_iconify.buffer_flush = EINA_FALSE;
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_TRANSIENT_FOR_ALWAYS_ON_TOP], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_TRANSIENT_FOR_ALWAYS_ON_TOP]))
           {
-             if (!strncmp(hint->val, "1", 1))
+             if (!e_util_strcmp(hint->val, "1"))
                {
                   ELOGF("TF_SET", "Transient for Always_on_top enabled", ec);
                   ec->transient_for_always_on_top = EINA_TRUE;
@@ -2678,9 +2678,9 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                   ec->transient_for_always_on_top = EINA_FALSE;
                }
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_BELONG_TO_PARENT], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_BELONG_TO_PARENT]))
           {
-             if (!strncmp(hint->val, "1", 1))
+             if (!e_util_strcmp(hint->val, "1"))
                {
                   ELOGF("TF_SET", "Set belong_to_parent", ec);
                   e_client_belong_to_parent_set(ec, EINA_TRUE);
@@ -2691,9 +2691,9 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                   e_client_belong_to_parent_set(ec, EINA_FALSE);
                }
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_RESIZE_ASPECT_RATIO], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_RESIZE_ASPECT_RATIO]))
           {
-             if (!strncmp(hint->val, "1", 1))
+             if (!e_util_strcmp(hint->val, "1"))
                {
                   ELOGF("RESIZE", "Set resize aspect ratio.. ratio(%dx%d)", ec, ec->w, ec->h);
                   ec->manage_resize.enable_aspect_ratio = EINA_TRUE;
@@ -2706,7 +2706,7 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                   ec->manage_resize.enable_aspect_ratio = EINA_FALSE;
                }
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_HEADER], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_HEADER]))
           {
              int height = atoi(hint->val);
              if (height > 0)
@@ -2720,7 +2720,7 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                   ec->manage_resize.header_h = 0;
                }
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_FOOTER], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_FOOTER]))
           {
              int height = atoi(hint->val);
              if (height > 0)
@@ -2734,9 +2734,9 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                   ec->manage_resize.footer_h = 0;
                }
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_VISIBILITY_IGNORE_GEOMETRY], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_VISIBILITY_IGNORE_GEOMETRY]))
           {
-             if (!strncmp(hint->val, "1", 1))
+             if (!e_util_strcmp(hint->val, "1"))
                {
                   ELOGF("POL_VIS", "Set ignore_geometry.. value(%s)", ec, hint->val);
                   ec->visibility.ignore_geometry = EINA_TRUE;
@@ -2747,7 +2747,7 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                   ec->visibility.ignore_geometry = EINA_FALSE;
                }
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_RESIZE_PPU], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_RESIZE_PPU]))
           {
              int ppu = atoi(hint->val);
              if (ppu < 1) ppu = 1;
@@ -2755,7 +2755,7 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
              ELOGF("RESIZE", "Set resize unit. size:%d", ec, ppu);
              e_client_resize_unit_size_set(ec, ppu);
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_SHADOW_TOP], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_SHADOW_TOP]))
           {
              int size = atoi(hint->val);
              if (size > 0)
@@ -2769,7 +2769,7 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                   ec->manage_resize.shadow.t = 0;
                }
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_SHADOW_BOTTOM], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_SHADOW_BOTTOM]))
           {
              int size = atoi(hint->val);
              if (size > 0)
@@ -2783,7 +2783,7 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                   ec->manage_resize.shadow.b = 0;
                }
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_SHADOW_LEFT], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_SHADOW_LEFT]))
           {
              int size = atoi(hint->val);
              if (size > 0)
@@ -2797,7 +2797,7 @@ _e_policy_wl_aux_hint_apply(E_Client *ec)
                   ec->manage_resize.shadow.l = 0;
                }
           }
-        else if (!strncmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_SHADOW_RIGHT], strlen(hint->hint)))
+        else if (!e_util_strcmp(hint->hint, hint_names[E_POLICY_HINT_DECORATION_SIZE_SHADOW_RIGHT]))
           {
              int size = atoi(hint->val);
              if (size > 0)
index 4b32f45..97e236a 100644 (file)
@@ -873,7 +873,7 @@ e_util_file_realpath_check(const char* path, Eina_Bool del_link)
      return EINA_FALSE;
 
    real_path = realpath(path, NULL);
-   if (real_path && strncmp(path, real_path, strlen(path)))
+   if (real_path && e_util_strcmp(path, real_path))
      {
         if (del_link)
           unlink(path);